jQuery ajax 不刷新页面动态获取select的option

jQuery ajax 不刷新页面动态获取select的option,第1张

首先说下解决方案:

由于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提交到后台等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9792338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存