Javascript 考虑到1“;“JS生成”;可随时选中的复选框
如何让js在任何时候都只允许选中一组复选框中的一个复选框。我已经按照下面的代码完成了这项工作,用于我在html代码中创建的复选框,但是这段代码(参见下面的尝试)不适用于JS生成的复选框。有什么帮助吗 请注意,在最底部的代码中,JS创建了许多复选框,作为for循环函数的一部分,因此('click',function(evt)需要适合Javascript 考虑到1“;“JS生成”;可随时选中的复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,如何让js在任何时候都只允许选中一组复选框中的一个复选框。我已经按照下面的代码完成了这项工作,用于我在html代码中创建的复选框,但是这段代码(参见下面的尝试)不适用于JS生成的复选框。有什么帮助吗 请注意,在最底部的代码中,JS创建了许多复选框,作为for循环函数的一部分,因此('click',function(evt)需要适合len变量才能工作 Html代码: <tr> <td>Prior to work on Site- Submit Telstra Bui
len
变量才能工作
Html代码:
<tr>
<td>Prior to work on Site- Submit Telstra Building Works Permit in TCSS</td>
<td>
<fieldset data-role="controlgroup" data-type="horizontal">
<input type="checkbox" name="F06_yes_1" id="F06_yes_1" data-mini="true" class = "f06_1" />
<label for="F06_yes_1">Yes</label>
<input type="checkbox" name="F06_no_1" id="F06_no_1" data-mini="true" class = "f06_1"/>
<label for="F06_no_1">No</label>
<input type="checkbox" name="F06_na_1" id="F06_na_1" data-mini="true" class = "f06_1" />
<label for="F06_na_1">N/A</label>
</fieldset>
</td>
<td><input name="F06-c-1" type="text" /></td>
</tr>
$('input.f06_1').on('click', function(evt) {
if ($('.f06_1:checked').length > 1) {
$('input.f06_1').not(this).prop('checked', false).checkboxradio("refresh");
}
});
table_asset.append(
'<tr>\
<td><input name="asset_description_'+ (len+1)+'" type="text" value="' + key + '" /></td> \
<td><input name="asset_cost_'+ (len+1)+'" type="text" value="' + formatter.format(data[item][key]) + '" onkeydown="return false"/></td> \
<td>\
<fieldset data-role="controlgroup" data-type="horizontal"> \
<input type="checkbox" name="asset_allocation_capex_'+ (len+1)+'" id="asset_allocation_capex_'+ (len+1)+'" data-mini="true" ' + capex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
<label for="asset_allocation_capex_'+ (len+1)+'">Capex</label> \
<input type="checkbox" name="asset_allocation_opex_'+ (len+1)+'" id="asset_allocation_opex_'+ (len+1)+'" data-mini="true" ' + opex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
<label for="asset_allocation_opex_'+ (len+1)+'">Opex</label>\
</fieldset>\
</td>\
<td><input name="asset_number_'+ (len+1)+'" type="text" value=" ' + asset_number_var + ' "/></td> \
<td><select name="asset_desc_' + (len+1)+'" id="test" data-mini="true" ' + asset_type + '</select> </td> \
<td style="display:none;" > <input name="type_'+ (len+1)+'" type="text" value="design"/></td>\
</tr>'
);
);
js创建的复选框代码:
<tr>
<td>Prior to work on Site- Submit Telstra Building Works Permit in TCSS</td>
<td>
<fieldset data-role="controlgroup" data-type="horizontal">
<input type="checkbox" name="F06_yes_1" id="F06_yes_1" data-mini="true" class = "f06_1" />
<label for="F06_yes_1">Yes</label>
<input type="checkbox" name="F06_no_1" id="F06_no_1" data-mini="true" class = "f06_1"/>
<label for="F06_no_1">No</label>
<input type="checkbox" name="F06_na_1" id="F06_na_1" data-mini="true" class = "f06_1" />
<label for="F06_na_1">N/A</label>
</fieldset>
</td>
<td><input name="F06-c-1" type="text" /></td>
</tr>
$('input.f06_1').on('click', function(evt) {
if ($('.f06_1:checked').length > 1) {
$('input.f06_1').not(this).prop('checked', false).checkboxradio("refresh");
}
});
table_asset.append(
'<tr>\
<td><input name="asset_description_'+ (len+1)+'" type="text" value="' + key + '" /></td> \
<td><input name="asset_cost_'+ (len+1)+'" type="text" value="' + formatter.format(data[item][key]) + '" onkeydown="return false"/></td> \
<td>\
<fieldset data-role="controlgroup" data-type="horizontal"> \
<input type="checkbox" name="asset_allocation_capex_'+ (len+1)+'" id="asset_allocation_capex_'+ (len+1)+'" data-mini="true" ' + capex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
<label for="asset_allocation_capex_'+ (len+1)+'">Capex</label> \
<input type="checkbox" name="asset_allocation_opex_'+ (len+1)+'" id="asset_allocation_opex_'+ (len+1)+'" data-mini="true" ' + opex_checked_var + ' class = "capex_opex_'+ (len+1)+'" /> \
<label for="asset_allocation_opex_'+ (len+1)+'">Opex</label>\
</fieldset>\
</td>\
<td><input name="asset_number_'+ (len+1)+'" type="text" value=" ' + asset_number_var + ' "/></td> \
<td><select name="asset_desc_' + (len+1)+'" id="test" data-mini="true" ' + asset_type + '</select> </td> \
<td style="display:none;" > <input name="type_'+ (len+1)+'" type="text" value="design"/></td>\
</tr>'
);
);
表_asset.append(
'\
\
\
\
\
\
资本支出\
\
运营成本\
\
\
\
如果您只想选择一个选项,则应使用单选按钮而不是复选框
谢谢,但是我想使用jquery mobile的复选框,因为我在我的整个页面中都实现了这一点。如果你看一下其他一些问题,你会注意到有两个按钮:运行代码片段
和复制代码片段来回答
。请使用带有括号的按钮。我知道你不喜欢用loo来回答请查看您的个人资料,但请尝试一下,谢谢。用您不想要的简单解决方案(即type=radio
)回答问题已经比较困难了