Jquery 选中复选框时更新html选择
我的js代码有一种奇怪的行为。 我在这里做了一个JsFiddle: 当我选中一个特定的复选框时,我想更新一个select的“option selected” 实际上我必须点击3次才能触发事件 我选中复选框=>什么都没有发生 我取消选中复选框=>什么都没有发生 我选中复选框=>它可以工作 这是我的HTMLJquery 选中复选框时更新html选择,jquery,checkbox,onchange,Jquery,Checkbox,Onchange,我的js代码有一种奇怪的行为。 我在这里做了一个JsFiddle: 当我选中一个特定的复选框时,我想更新一个select的“option selected” 实际上我必须点击3次才能触发事件 我选中复选框=>什么都没有发生 我取消选中复选框=>什么都没有发生 我选中复选框=>它可以工作 这是我的HTML <fieldset class="attribute_fieldset" rel=""> <input class="left cb_group_5" type="ch
<fieldset class="attribute_fieldset" rel="">
<input class="left cb_group_5" type="checkbox" value="group_5" />
<select name="group_5" id="group_5" class="attribute_select hidden">
<option value="23" selected="selected" title="non">non</option>
<option value="24" title="oui">oui</option>
</select>
</fieldset>
我做错了什么?请帮助我社区=)如果我没弄错,您希望您的下拉列表根据您是否单击了复选框进行更改 在代码中有一行
$(目标+'option')。removeAttr('selected')代码>
我不知道你为什么要删除从所有选项中选择的属性,如果你删除它,你的代码就可以正常工作
$('.attribute_fieldset input[type=checkbox]').change(function(){
var target = '#'+$(this).val();
if(this.checked)
{
$(target+' option[title="oui"]').attr('selected','selected');
}
else
{
$(target+' option[title="non"]').attr('selected','selected');
}
});
还有一点值得注意的是,最好不要一直以您自己的方式引用元素,更有效的方法是这样的
$('.attribute_fieldset input[type=checkbox]').change(function(){
var target = $('#'+$(this).val());
if(this.checked)
{
$('option[title="oui"]',target).attr('selected','selected');
}
else
{
$('option[title="non"]',target).attr('selected','selected');
}
});
我在小提琴上没有看到任何问题。@karthikr,你必须点击3次复选框来更改选择。。。相反once@f00bar请讲英语。不,它马上就起作用了。首先单击,然后更改“选择”下拉列表值。我在chromeIts上工作,只需点击一下即可!的确它起作用了。谢谢你的第二个选择,它更干净。
$('.attribute_fieldset input[type=checkbox]').change(function(){
var target = $('#'+$(this).val());
if(this.checked)
{
$('option[title="oui"]',target).attr('selected','selected');
}
else
{
$('option[title="non"]',target).attr('selected','selected');
}
});