我有这样的事情:
<input type="radio" value="1" name="rdo" id="rdo_1" checked="checked" />Yes
<input type="radio" value="0" name="rdo" id="rdo_0" />No
在某些DropDown
索引更改时,我尝试将rdo_1
设置为是。
并让他们都被禁用。
但由于某种原因,第一个单选按钮没有设置为True。
我做错了什么?
以下是我的表现:
$("input:radio[name='rdo']:checked").val('1');
$("input:radio[id='rdo_1']:checked").val('1');
$('#rdo_1').attr('disabled', true);
$('#rdo_0').attr('disabled', true);
答案 0 :(得分:1)
$(document).ready(function(){
$('input[type=button]').on('click', function(){
var target = $(this).data('target');
$(target).prop('checked', true);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" value="1" name="rdo" id="rdo_1" checked="checked" />Yes
<input type="radio" value="0" name="rdo" id="rdo_0" />No
</br>
</br>
<input type="button" data-target="#rdo_1" value="Yes"/>
<input type="button" data-target="#rdo_0" value="No"/>
我自己的代码出了什么问题?
您提供的所有代码都没有修改checked
属性。
.val('1')
更改value=""
属性。
还有什么是.data('target')
jQuery's .data()获取data-
属性的值。
与
data-blah="asdf";
因此
.data('blah') == "asdf";
答案 1 :(得分:1)
编辑: 您已禁用单选按钮,以便只能通过下拉菜单等设置;但是,这会导致问题,因为只有表单提交了已启用的元素。这是一个SO question,它提供了一个肮脏的工作。它将从单选按钮获取输入并且不对它们执行任何操作。我已将它添加到我的小提琴中。
$(':radio').click(function(){
return false;
});
以下是如何使用下拉框执行此操作。您需要更改单选按钮以使用prop
(属性)而不是val
。
$("#dropdown").on("change", function() {
//Get the value of the dropdown box
var dropDownVal = $(this).val();
if (dropDownVal == 0) {
//If the first drop down option was selcted
$("#rdo_1").prop("checked", true);
} else if (dropDownVal == 1) {
//If the second drop down option was selcted
$("#rdo_0").prop("checked", true);
} else{
//If the third drop down option was selcted
$("#rdo_1").prop("checked", false);
$("#rdo_0").prop("checked", false);
}
});
//Disable the radio buttons - crude
$(':radio').click(function(){
return false;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='dropdown'>
<option value="0">YES</option>
<option value="1">NO</option>
<option value="2">CLEAR</option>
</select>
<input type="radio" value="1" name="rdo" id="rdo_1" checked='checked' />Yes
<input type="radio" value="0" name="rdo" id="rdo_0" />No
&#13;