我试图获取某些元素的价值,并将它们放在<select>
标记中的一个<option>
列表中,如:
验证是否已检查无线电以及检查了哪个无线电采用了截面元素值,并将其插入<select>
作为<option>
;
在我的例子中,我有两个部分/面板,可以通过无线电输入选择。
我的问题是当我选择收音机时因为我使用了类似的东西:
var scheduler = $( "#first-radio:checked" );
var cronos = $( "#second-radio:checked" );
$("#add-button").click( function() {
if ( scheduler || cronos ) {
alert('None of radio options were selected!');
} else{
alert("else where my code must run");
}
});
并且如果在按下Add val
按钮时选中了两个复选框之一,则通常应该采取其他警报,而是始终使用if语句并显示警报,我不明白原因:|
答案 0 :(得分:5)
jQuery方法将始终返回jQuery对象,该对象始终是真实的,因此您的代码将始终执行if
块。
此外,检查状态将在运行时更改,因此您无法使用在初始化DOM时获取的状态 - 您需要检查单击处理程序中单选按钮的当前状态。
var scheduler = $("#first-radio");
var cronos = $("#second-radio");
$("#add-button").click(function () {
if (scheduler.is(':checked') || cronos.is(':checked')) {
alert("else where my code must run");
} else {
alert('None of radio options were selected!');
}
});
演示:Fiddle