无法使用 jQuery 从单选按钮获取值



我尝试从单选按钮获取值,这是我的代码:

var isactive = result.IsActive;
$("input[name='RadioActive']").each(function () {
if ($(this).val() == isactive) {
$(this).attr("checked", "checked");
}
});

和 HTML :

<section class="col col-lg-2">
<label class="label">Active</label>
<div class="inline-group">
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="T" />
<i></i>
Yes
</label>
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="F" />
<i></i>
No
</label>
</div>
</section>

不行。你有什么想法吗?我错过了什么?

要使用 jquery 选择单选按钮,请使用prop

在下面的代码片段中,期望result.IsActive的值被F并将其分配给isactive

var isactive = "F";
$("input[name='RadioActive']").each(function() {
if ($(this).val() == isactive) {
$(this).prop("checked", "checked");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="col col-lg-2">
<label class="label">Active</label>
<div class="inline-group">
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="T" />
<i></i>
Yes
</label>
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="F" />
<i></i>
No
</label>
</div>
</section>

var isActive='F';
$("input[name='RadioActive']").each(function (index,value) {
if( $(value).val()==isActive)
$(value).attr('checked','checked');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="col col-lg-2">
<label class="label">Active</label>
<div class="inline-group">
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="T" />
<i></i>
Yes
</label>
<label class="radio">
<input type="radio"  name="RadioActive" class="RadioActive" value="F" />
<i></i>
No
</label>
</div>
</section>

问题是result.IsActive没有解决。只需将isactive设置为TF即可为您选中单选按钮:

var isactive = "T";
$("input[name='RadioActive']").each(function() {
if ($(this).val() == isactive) {
$(this).attr("checked", "checked");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="col col-lg-2">
<label class="label">Active</label>
<div class="inline-group">
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="T" />
Yes
</label>
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="F" />
No
</label>
</div>
</section>

请注意,将其设置为truefalse不会触发checked属性;它需要与单选按钮的value完全相等(分别为TF(。

确保您的result.IsActive返回TF,它将为您正常工作。

希望这有帮助! :)

你可以使用下面这样的东西

$("input[name='RadioActive']:checked").val()

这是你的 JavaScript 代码:

$(document).ready(function () {
$('#myForm').on('click', function () {
var value = $("[name=RadioActive]:checked").val();
alert("Selected Radio Value is :  " + value);
})
});

网页代码:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<form id="myForm">
<section class="col col-lg-2">
<label class="label">Active</label>
<div class="inline-group">
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="T" />
<i></i>
Yes
</label>
<label class="radio">
<input type="radio" name="RadioActive" class="RadioActive" value="F" />
<i></i>
No
</label>
</div>
</section>
</form>
</body>
</html>

这是代码的工作 plunker:
https://plnkr.co/edit/D9UaU43OxHGUg80xxsiS?p=preview

最新更新