我有10个下拉菜单,每个都有30个左右的选项。我试图通过使用JQuery将每个选择值与其兄弟项进行比较来防止在任何菜单中选择相同的值。以下是我的代码,但它不起作用:
$('#select1').change(function() {
if ($(this).val() == $(this).siblings().val()) {
alert("OK");
}
});正如您所看到的,我正在尝试使用$(this).siblings().val()将#select1的值与其所有兄弟的值进行比较。我搞不懂为什么这不管用。
发布于 2012-05-02 12:37:19
我认为同级返回一个元素列表,而不是一个单独的项,所以您需要运行一个循环
$('#select1').change(function() {
var $select = $(this);
$(this).siblings().each(function(index){
if ($(this).val() == $select.val()) {
alert('ok');
}
}
});发布于 2012-05-02 12:42:05
$('#select1').change(function() {
var self = this,
t = $(this).siblings().filter(function() {
return this.value == self.value;
});
if (t.length) {
alert("OK");
}
});发布于 2012-05-02 12:39:13
尝试使用inArray
$('#select1').change(function() {
var arr=[];
$.each($(this).siblings(),function(i,j){
arr.push($(j).val());
});
if ($.inArray($(this).val(),arr)) {
alert("OK");
}
});https://stackoverflow.com/questions/10407736
复制相似问题