您好我有一个场景,其中提交的单选按钮应保持默认选中状态,并且还应禁用之前选中的复选框。假设现在我为其中两个设置了checked =“checked”。问题是我如何检查这两个的已检查属性,以便我可以禁用它们。任何人都可以帮我处理代码。
<div class="element">
<input id="product_id---0" type="radio" value="2-2" checked="checked" data-second_price="0.00" data-first_price="1000.00" name="product_id">
<input id="product_id---1" type="radio" checked="checked" value="3-3" data-second_price="0.00" data-first_price="2000.00" name="product_id">
<input id="product_id---2" type="radio" value="4-4" data-second_price="0.00" data-first_price="3000.00" name="product_id">
<input id="product_id---3" type="radio" value="5-5" data-second_price="0.00" data-first_price="4000.00" name="product_id">
</div>
我尝试了以下代码,但它无效。感谢您提前提供任何帮助。
$product_ids = document.getElementsByName( 'product_id' );
for( i=0; i < $product_ids.length; i++ ) {
alert( $product_ids[i].checked );
}
答案 0 :(得分:1)
您正在使用的radio
输入只能在群组中选择一个,如果您想要选择两个选项,则需要输入checkbox
。
$product_ids = document.getElementsByName('product_id');
for( i=0; i < $product_ids.length; i++ ) {
$product_ids[i].disabled = $product_ids[i].checked;
}
答案 1 :(得分:0)
您可以在要呈现为已禁用的复选框上使用属性,即disabled
。
答案 2 :(得分:0)
正如Oswaldo所说,你使用的是错误的输入类型,它应该是type="checkbox"
我假设你用jQuery标记了这个问题,我们可以在答案中使用它。以下是您要找的内容:
<div class="element">
<input id="product_id---0" type="checkbox" value="2-2" checked="checked" data-second_price="0.00" data-first_price="1000.00" name="product_id">
<input id="product_id---1" type="checkbox" checked="checked" value="3-3" data-second_price="0.00" data-first_price="2000.00" name="product_id">
<input id="product_id---2" type="checkbox" value="4-4" data-second_price="0.00" data-first_price="3000.00" name="product_id">
<input id="product_id---3" type="checkbox" value="5-5" data-second_price="0.00" data-first_price="4000.00" name="product_id">
</div>
<button id="disable">Disable</button>
<button id="enable">Enable</button>
$('#enable').click(function(){
$( ".element input:checked" ).attr( "disabled", false );
});
$('#disable').click(function(){
$( ".element input:checked" ).attr( "disabled", true );
});
祝你好运!