空白SELECT元素的JQuery选择器?

时间:2012-10-27 04:31:28

标签: jquery

我想突出显示我的html中没有选定值的所有选择。对于我可以看到的类似问题,我的选择器是正确的,但它不起作用。

它出了什么问题?

$('[value=""]').addClass('fill-field');

4 个答案:

答案 0 :(得分:0)

<select>没有value属性 - 他们的<option>会这样做。因此,仅使用属性选择器就无法做到这一点。使用.filter()

$('select').filter(function ()
{
    return !$(this).val();
}).addClass('fill-field');

然而,听起来您正在进行一些客户端表单验证。 Might I suggest not reinventing the wheel?

答案 1 :(得分:0)

试试这个

$("input, select").change(function(){ // as from your prev. question
if($(this).val() == ''){
    $(this).addClass('fill-field');
} else {
    $(this).removeClass('fill-field');
}
});

<强> demo

答案 2 :(得分:0)

工作演示 * 选择演示 * http://jsfiddle.net/QF5QJ/ - http://jsfiddle.net/8hQPS/

希望它适合原因`:)

示例代码

var $selects = $("select").filter(function(i) {
    return $.trim($(this).attr("value")) == '';
});

$selects.css({
    background: 'orange'
});​

var $tds = $("td").filter(function(i) {
    return $.trim($(this).attr("value")) == '';
});

$tds.css({
    background: 'orange'
});​

答案 3 :(得分:0)

试试这个:

// add the rule here
 $.validator.addMethod("valueNotEquals", function(value, element, arg){
  return arg != value;
 }, "Value must not equal arg.");

 // configure your validation
 $("form").validate({
 rules: {
   SelectName: { valueNotEquals: "default" }
  },
  messages: {
   SelectName: {
    valueNotEquals: "Please select an item!"
   }
  }  
 });

或者只是你可以像这样申请你的课程:

// add the rule here
 $.validator.addMethod("valueNotEquals", function(value, element, arg){
  return arg != value;
 }, "Value must not equal arg.");

 // configure your validation
 $("form").addClass('fill-field');