HTMLで値が選択されていないすべての選択を強調表示したい。同様の質問で私が見ることができるものについては、私のセレクターは正しいですが、機能しません。
それの何が問題なのですか?
$('[value=""]').addClass('fill-field');
HTMLで値が選択されていないすべての選択を強調表示したい。同様の質問で私が見ることができるものについては、私のセレクターは正しいですが、機能しません。
それの何が問題なのですか?
$('[value=""]').addClass('fill-field');
動作中のデモ*デモを選択* 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'
});
<select>
s には属性がありませんvalue
- 彼ら<option>
の s には属性があります。したがって、属性セレクターだけでこれを行うことはできません。を使用し.filter()
ます。
$('select').filter(function ()
{
return !$(this).val();
}).addClass('fill-field');
ただし、クライアント側のフォーム検証を行っているようです。車輪を再発明しないことをお勧めしますか?
これを試して
$("input, select").change(function(){ // as from your prev. question
if($(this).val() == ''){
$(this).addClass('fill-field');
} else {
$(this).removeClass('fill-field');
}
});
これを試してください:
// 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');