js设置下拉框选中后change事件无效解决

下拉框部分代码:

<select id="bigType">
     <option value="">请选择</option>
     <option value="1">xiamen</option>
     <option value="2">beijing</option>
</select>

<select id="smallType">
     <option value="">请选择</option>
</select>

如果给"bigType"的下拉框添加change事件来动态改变"smallType"下拉框的值的话,代码如下:

jQuery("#bigType").change(function(){
    //do something
});

那么,通过js设置"bigType"某项选中后,如:

jQuery("#bigType option[value="1"]").attr("selected","selected")
//jQuery("#bigType option:contains("xiamen")").attr("selected","selected")

该change事件不会自动触发,解决办法:

自定义change方法,在下拉框中添加onchage事件并传参(当前选中的value值),自定义调用时间:

<select id="bigType" onChange="getVariety(this.options[this.selectedIndex].value)">
     <option value="">请选择</option>
</select>
function getVariety(val){
     //set some options checked
}

至此解决。。

时间: 2024-10-25 06:58:40

js设置下拉框选中后change事件无效解决的相关文章

Jquery EasyUI环境下设置下拉框选中指定选项

前提: 要求点击某个按钮就将所有的下拉框都设置为选中第一个选项,因此,指定索引是最好的做法 尝试过的做法: html代码如下(easyui 的写法) <select class="easyui-combobox"  name="query_1" id="query_1"> <option value="test1">测试1</option> <option value="te

下拉框选中后默认为选中状态

<td ><select id="pri_sel_'.$v['id'].'"> <option value="1">随机</option>'; if($v['rid']){ $selete = ''; foreach($prizelist as $key=>$val){ if($v['rid'] == $val['id']){ $selete = 'selected'; }else{ $selete = '';

js实现点击下拉框选中对应的div

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js实现点击下拉框选中对应的div</title> <style type="text/css"> div{display:none;} </style> </head> <body> <select name="

js,jquery获取下拉框选中的option

js获取select选中的值: var sel=document.getElementById("select1"); var index = sel.selectedIndex; // 选中索引 albumid= sel.options[index].value;//要的值 jQuery获取下拉框选中的option: $("#s option:selected").val();

jquery 根据后台传过来的值动态设置下拉框、单选框选中

jquery  根据后台传过来的值动态设置下拉框.单选框选中 1 $(function(){ 2 var sex=$("#sex").val(); 3 var marriageStatus=$("#marriageStatus").val(); 4 var education=$("#education").val(); 5 if(!isnull(sex)){ 6 //$("input:radio[name='sex'][value=&

jquery设置下拉框selected不起作用

在js中设置下拉框被选中: 最初写法: //移出selected $("#selected option").removeAttr("selected"); //将value值为value的设为selected $("#selected").find("option[value=]+value+"]").attr("selected",true); 来回切换几次后发现selected不起作用了.

快速解决js开发下拉框中blur与click冲突

在开发中我们会经常遇到blur和click冲突的情况.下面叙述了开发中常遇到的"下拉框"的问题,并提供了两种解决方案. 一.blur和click事件简述 blur事件:当元素失去焦点时触发blur事件:其为表单事件,blur和focus事件不会冒泡,其他表单事件都可以.click事件:当点击元素时触发click事件:所有元素都有此事件,会产生冒泡. 示例1:blur事件为表单事件 1 2 3 4 5 6 7 8 9 10 11 12 13 <input type="te

Jquery动态设置下拉框selected --(2018 08/12-08/26周总结)

1.Jquery动态根据内容设置下拉框selected 需求就是根据下拉框的值动态的设置为selected,本以为很简单,网上一大推的方法,挨着尝试了之后却发现没有一个是有用的.网上的做法如下: <select id="selectID "> <option>选择A</option> <option>选择B</option> <option>选择C</option> </select> //

Javascript获取select下拉框选中的的值

现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 <select id="test"  name="">     <option   value="1">text1</option>     <option   value="2">text2</option>    </select> co