$(document).ready(function () {
$("#bcscan").submit(function (e) {
e.preventDefault();
if($("select").val() === '#') {
$(this).addClass("warning");
}
else {
ajaxPost();
}
});
});
我正在使用以下功能,如果 <{strong> warning
元素的值=“#”,我该如何修改它以添加类select
?
目前它正在为所有选择添加警告类
答案 0 :(得分:3)
我认为这可能是你想要的:
$('select').filter(function() {
return ($(this).val() === '#');
}).addClass('warning');
选择所有select
元素,将其过滤到当前值等于#
的元素,然后将warning
类添加到该子集。
我会在这里留下原来的答案,但考虑到问题的变化,它可能不再相关。这是我最后一次猜测你想要什么 - 如果这对你有用,那很好;如果没有,哦,好吧。
$(document).ready(function () {
$("#bcscan").submit(function (e) {
e.preventDefault();
var doAjaxPost = true;
$('select').each(function() {
if($(this).val() === '#') {
doAjaxPost = false;
$(this).addClass('warning');
}
});
if(doAjaxPost) {
ajaxPost();
}
});
});
在提交表单时检查所有select
个元素 - 如果其中任何一个元素的值为#
,则会将warning
类添加到该select元素。如果它们都没有值#
,则它会继续并调用ajaxPost()函数。
答案 1 :(得分:2)
$('select').change(function (event) {
if ($(this).val() === '#') $(this).addClass('warning');
});
this
填充了触发事件的元素。在这种情况下,选择。
演示:http://jsfiddle.net/TimWolla/tNhKe/
编辑以匹配问题:
$(document).ready(function () {
$("#bcscan").submit(function (e) {
e.preventDefault();
var invalidCount = $('select').filter(function() {
return ($(this).val() === '#');
}).addClass('warning').length;
if (invalidCount == 0) {
alert('valid');
}
});
});
答案 2 :(得分:0)
if($("select:selected").val() == '#') {
$("select").addClass("warning");
}