首先说下解决方案:
由于select的点击就显示下拉列表时控件本身的特性,无法取消(我尝试过阻止默认事件,结果没有反应),所以最好的方法我觉得就是模拟select,就是说不用select标签,自己写一组html替换select,这方面成熟的jquery插件也不少。这样做便于控制下拉列表何时显示隐藏,不用担心click的问题。而且可以避免select本身的一些缺陷达到跨浏览器的目的
form表单通过request来获取表单内的信息,只需要给select添加一个name值就可以了
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
act=requestQueryString("act")
if act="" then
call test1()
else
call test2()
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
select放在form里面form提交的时候会把select当做普通的文本框input处理,在后台直接
requestgetParameter是可以获取的,你获取不到,要看下你怎么提交至后台的select在没在form域中
第一种 表单提交
第二种 ajax 要用你input框的id和select框的id
<script>//地址添加提交
$(function () {
$('#address_submit')click(function () {
layerload(1,{time:1000});
var select_country=$('#select_country option:selected')text();//select框
var select_province=$('#select_province option:selected')text();
var select_city=$('#select_city option:selected')text();
var consignee=$('#consignee')val();
var phone=$('#phone')val();
var address_detail=$('#address_detail')val();
if(!select_country || !select_province || !consignee || !phone || !address_detail){
layermsg('Please complete the receipt information', {icon: 2,offset: '100px',time:'1200'});
}
$post("{:U('User/addAddress')}",{
'select_country':select_country,
'select_province':select_province,
'select_city':select_city,
'consignee':consignee,
'phone':phone,
'address_detail':address_detail,
},function (data) {
if(data=='success'){
layermsg('operation success', {icon: 1,offset: '100px',time:'1000'});
setTimeout("windowlocationreload()",1000);
}
else{
if (data == 'no_session') {
layermsg('Login information has failed please log in again ', {icon: 2, offset: '100px', time: '1000'});
setTimeout("locationhref = '{:U("index/Login/login")}'", 1000);
return false;
}
layermsg(JSONstringify(data), {icon: 2,offset: '100px',time:'1500'});
return false;
}
},'json');
});
})
</script>
获取Select标签选中的id值和文本值,<option>中id、value属性的区别
blog163com 2013-10-12 10:51
一个<select>标签,如何获取选中的select的值或者id?<option id="" value="">xxx</option>里有两个属性,id和value,他们有何区别?
一次不经意的错误让我发现了<option>里id和value的区别,呵呵
如下是一段HTML(用了Strut2的标签):
<s:form method="post" action="uploadLogoaction"> <table border="0"> <tr> <td class="STYLE1" align="left"> <select name="shopId"> <option id="-1">---选择店铺---</option> <option value="1">行行行行行行</option> </select> </td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form>
当你<option>里只设置id值或者你写错了写成value以外的其他东西,那么,你提交时,传到Struts2的Action类时获取选中的select值将是<option>的value值,也就是你写在<option id="xxx">aaaaa</option>的“aaaaa”。
只有当<option>里只设置value值时,才能获取你选中的select的ID。
也就是说,当你把shopId传到后台时
<select name="shopId">
1)如果此时option设置的是id,那么Action中shopId的值是“---选中店铺---”
<option id="-1">---选择店铺---</option>
2)如果此时option设置的是value,那么Action中shopId的值是“-1”
<option value="-1">---选择店铺---</option>
Struts2Action类测试如下:
ublic class uploadLogoAction extends ActionSupport{ private String shopId; public String test(){ Systemerrprintln("shopId:"+shopId); } / getter and setter method / }
//前台:form表单提交方式
<select class="form-control" id="shi" name="city">
<option value="-1">请选择市区</option>
</select>
//后台:form表单提交过来的
@RequestMapping("/addEmp")
public String addss(@RequestParam String city){
return "";
}
//通过select下拉框的name获取下拉框选中的value值
<select name="select">
<option value = "1" selected="selected">1</option>
</select>
requestgetParameter("select")
以上就是关于jQuery ajax 不刷新页面动态获取select的option全部的内容,包括:jQuery ajax 不刷新页面动态获取select的option、form表单提交,后台怎么获取select的值、如何将option里面的value值,通过ajax提交到后台等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)