如何检查单选按钮的值,如果还有……?
How to check radio buttons values and if else..?
我需要检查单选按钮列表和 select 的值。
不能同时 select 编辑单选按钮和 select 值。
我现在有了这个,但它只有在我 select 单选按钮列表中的第一个单选按钮时才有效。
userdevice 是一个单选按钮列表。而标签就是select.
var isChecked = $('input[name=userdevice]').prop('checked');
if (isChecked) {
var userdevice=$('input[name="userdevice"]:checked').val();
}else{
var userdevice="";
}
var tags=$('select[id=tags]').val()
if ((userdevice.length > 0) && (tags.length < 1)){
//if userdevice - a radio button is selected - run this...and this only works if the first radio button is selected...
}else if((userdevice.length < 1 ) && (tags.length > 0)){
//if a tag in the select is selected - run this...
}else {
//if both user device and tags are not selected, then run this....
}
非常感谢任何输入,谢谢!
您需要将 prop('checked');
更改为:
var isChecked = $('input[name=userdevice]').is(':checked');
我测试了。 isChecked
的结果总是错误的。
完整代码:
var isChecked = $('input[name=userdevice]').is(':checked');
if (isChecked) {
var userdevice = $('input[name="userdevice"]:checked').val();
} else {
var userdevice = "";
}
var tags = $('select[id=tags]').val()
if ((userdevice.length > 0) && (tags.length < 1)) {
//if userdevice - a radio button is selected - run this...and this only works if the first radio button is selected...
} else if ((userdevice.length < 1) && (tags.length > 0)) {
//if a tag in the select is selected - run this...
} else {
//if both user device and tags are not selected, then run this....
}
通过查看您的代码示例,您似乎正在使用 val().length
检查是否选择了特定项目?在我看来(如果这是你想要的,)直接使用 selected
和 checked
属性会更好。
只是一个想法
var hasSelected =
$('input[name=userdevice]:checked, #tags option:selected') // if has any selection
.map(function(index,elm){
$(elm).is('input') ? /* if only radio button selected */ : null ;
$(elm).is('option')? /* if only select option selected */ : null ;
return $(this);
}).get().length;
(hasSelected < 1) ? /* if NO selection */ : null ;
我需要检查单选按钮列表和 select 的值。 不能同时 select 编辑单选按钮和 select 值。
我现在有了这个,但它只有在我 select 单选按钮列表中的第一个单选按钮时才有效。 userdevice 是一个单选按钮列表。而标签就是select.
var isChecked = $('input[name=userdevice]').prop('checked');
if (isChecked) {
var userdevice=$('input[name="userdevice"]:checked').val();
}else{
var userdevice="";
}
var tags=$('select[id=tags]').val()
if ((userdevice.length > 0) && (tags.length < 1)){
//if userdevice - a radio button is selected - run this...and this only works if the first radio button is selected...
}else if((userdevice.length < 1 ) && (tags.length > 0)){
//if a tag in the select is selected - run this...
}else {
//if both user device and tags are not selected, then run this....
}
非常感谢任何输入,谢谢!
您需要将 prop('checked');
更改为:
var isChecked = $('input[name=userdevice]').is(':checked');
我测试了。 isChecked
的结果总是错误的。
完整代码:
var isChecked = $('input[name=userdevice]').is(':checked');
if (isChecked) {
var userdevice = $('input[name="userdevice"]:checked').val();
} else {
var userdevice = "";
}
var tags = $('select[id=tags]').val()
if ((userdevice.length > 0) && (tags.length < 1)) {
//if userdevice - a radio button is selected - run this...and this only works if the first radio button is selected...
} else if ((userdevice.length < 1) && (tags.length > 0)) {
//if a tag in the select is selected - run this...
} else {
//if both user device and tags are not selected, then run this....
}
通过查看您的代码示例,您似乎正在使用 val().length
检查是否选择了特定项目?在我看来(如果这是你想要的,)直接使用 selected
和 checked
属性会更好。
只是一个想法
var hasSelected =
$('input[name=userdevice]:checked, #tags option:selected') // if has any selection
.map(function(index,elm){
$(elm).is('input') ? /* if only radio button selected */ : null ;
$(elm).is('option')? /* if only select option selected */ : null ;
return $(this);
}).get().length;
(hasSelected < 1) ? /* if NO selection */ : null ;