我有一个带有几个无线电输入的jquery移动表格,选项“DS”,“NO”和“YES”。我想当我点击一个按钮时,它会模拟所有单选按钮的“是”选项的点击。
我使用此代码:
$("#btn-all-yes").click(function(){
$(".replay-yes").each(function(index, element){
$(element).trigger("click");
//$(element).click();
});
});
但我需要在按钮中单击两次以获得所需的结果。如果我将行'$(element).trigger(“click”)'放两次就可以了,但我认为它应该只需一次调用click事件。
查看所有代码答案 0 :(得分:4)
你需要改变它的'状态使用.prop
,然后刷新.checkboxradio('refresh')
。
更新 - 取消选中其他按钮
$("#btn-all-yes").click(function () {
$('[data-role="controlgroup"]').find("[type=radio]").each(function () {
if ($(this).hasClass('replay-yes')) {
$(this).prop('checked', true).checkboxradio("refresh");
} else {
$(this).prop('checked', false).checkboxradio("refresh");
}
});
});
旧答案
$("#btn-all-yes").click(function(){
$(".replay-yes").each(function(index, element){
$(element).prop('checked', true).checkboxradio("refresh");
});
});
答案 1 :(得分:4)
尝试初始化页面加载上的点击:
$(".replay-yes").each(function (index, element) {
$(element).trigger("click");
//$(element).click();
}).click();
//-^^^^^^^----------this way