我已经过滤了select
元素以进行非多重选择:
$("select:not([multiple])").select2().on("change", function(e) {
if ($(this).val() == "") {
$(this).parent().find("span[role='combobox']").each(function() {
$(this).attr("data-validate-func", "required").attr("data-validate-hint", "<?php echo _getText('global.champ.obligatoire'); ?>");
});
} else {
$(this).parent().find("span[role='combobox']").each(function() {
$(this).removeAttr("data-validate-func");
});
}
});
现在,我还希望过滤select
元素,而不是Label
作为其第一个parent
。如何为此目的修改我的代码?
答案 0 :(得分:2)
您可以使用.filter()
:
$("select:not([multiple])").filter(function(){
return $(this).parent().is('label')
}).select2().....
答案 1 :(得分:1)
您可以为:not
子句添加后代选择器:
$("select:not([multiple], label > select)").select2().on("change", //...