【发布时间】:2019-07-19 10:45:14
【问题描述】:
Javascript:
if (GetCookie('prev_radio_value')!=null){
alert(GetCookie('prev_radio_value'));
$(":radio[value="+GetCookie('prev_radio_value')+"]").attr('checked',true);
$(":radio[value="+GetCookie('prev_radio_value')+"]").triggerHandler('click');
$(':radio:checked').triggerHandler('click');
$('input:radio[name=theme]:checked').click();
}else{
alert("clicking first");
$("input:radio:first").attr("checked", true).trigger("click");
}
HTML 代码:
<ul>
<li><input type="radio" name="theme" value="theme1"/>Theme1</li>
<li><input type="radio" name="theme" value="theme2"/>Theme2</li>
</ul>
这段代码在 div 里面 -> 'checkbox_div'
点击功能:
$("#checkbox_div input:radio").click(function() {
alert("clicked") ;
});
我已经通过 3 种方式使用了触发点击,但都没有工作或触发点击事件。
示例链接:http://jsbin.com/ezesaw/1/edit 在选择第一个单选按钮时不会触发点击事件。
【问题讨论】:
-
将
attr()更改为prop(),因为checked 属性应始终设置为prop(),否则会出现问题。此外,您应该在单选按钮上使用change事件,而不是click事件,并使用input[type="radio"]而不是input:radio。 -
另外,你要找的是
$('#checkbox_div input[type="radio"]:checked').trigger('click'); -
$("input[type='radio' value="+GetCookie('prev_radio_value')+"]").prop('checked',true); ...抛出异常 .... 像这样 ..........未捕获的错误:语法错误,无法识别的表达式:[type='radio' value=theme1]
-
@adeneo 它不工作:(
-
这到底是什么?你应该阅读 jQuery 文档,你不能那样做。
标签: javascript jquery jquery-ui