我正在开发一个小应用程序,但我无法解决这个问题 我试图使用jQuery将已检查的无线电附加到表单,我确实尝试了很多解决方案,但我确实失败了 我在这里写了代码,希望有人可以帮我解决这个问题
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios" value="interior">
Interior
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios" value="exterior">
Exterior
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios" value="interio+exterior">
Interior si exterior
</label>
</div>
这里使用json获取数据,我得到了正确的结果
<script>
$.each(data, function (k, v) {
typdespal = v.typdespal;
// the problem is that always i cant get the radio checked in the right position from the database
// $('#optionsRadios').val(typdespal);
$("input:radio[name='optionsRadios']").val(typdespal).prop( "checked", true );;
</script>
答案 0 :(得分:1)
您可以使用filter()
查找带有值的正确单选按钮,然后将其属性设置为已选中。
$("input:radio[name='optionsRadios']").filter(function(){
return $(this).val() === typdespal
}).prop( "checked", true);
答案 1 :(得分:1)
首先,您需要将此全部包装在Document.Ready调用中。然后,您只需将选中的函数应用于包含适当值的复选框。在您设置所有optionsRadios
的值时。您可以使用prop
function overload:
$(function() { // DOM ready
$("input:radio[name='optionsRadios']").prop("checked", function() {
// Only set the checked value when this checkbox value === the corresponding data value
var val = $(this).val();
return val === data[val].typdespal;
});
});
注意:我想我正在读你的数据对象,没有看到它很难说:)
答案 2 :(得分:1)
首先,几个单选按钮可能具有相同的名称,但不具有ID。所以让他们独一无二。其次,尝试将您的选择器更改为:
$("input:radio[value='"+typdespal+"']").prop( "checked", true );