我正在使用带有2个单选按钮的jquery-ui按钮集,用于是/否输入。
var yesInput = document.createElement("input");
yesInput.type = "radio";
$(yesInput).attr('id', "njs1");
$(yesInput).prop('checked', this._data);
var noInput = document.createElement("input");
noInput.type = "radio";
$(noInput).attr('id', "njs2");
$(noInput).prop('checked', !this._data);
我在这些按钮上以及在处理功能中调用更改事件,试图检测是否单击了选中的按钮。
buttonSet
是制成buttonset()
的div。$("input[type=radio]", buttonSet).change(checkHandler);
var data= $("input[type=radio]", buttonSet).eq(0).is(':checked');
在这种情况下,我希望如果单击第二个按钮,则数据应返回false。我的理解是,当我检查收音机时,将其html修改为添加
checked
。但是,无论调用什么,数据始终为
true
。我究竟做错了什么?如何获得正确的值?
编辑:
Example fiddle
如您所见,我可以单击“否”,并且仍选中“是”。既然是收音机,我希望它的表现方式
最佳答案
为什么不使用jQuery创建元素的方式?
将点击事件用于单选按钮。
$('<input/>').attr({type: "radio", "id": "njs1"})
.prop("checked", !this._data)
.click(checkHandler);
关于javascript - jquery-ui buttonset click事件似乎没有更改选中状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33174553/