我想在选择框中循环选择属性设置为的选项 “data-status = YES”并选择此选项并以红色应用所有这些选项。我该怎么做。这个“数据状态”是通过php写的
<select id ="test1">
<option value = "1" data-status='YES'>one</option>
<option value = "2" data-status='NO'>2</option>
<option value = "3" data-status='YES'>3</option>
<option value = "4" data-status='YES'>4</option>
</select>
$(document).ready(function(){
$('#test1 > option:selected').each(function() {
// alert($(this).text() + ' ' + $(this).val());
if($(this).data-status==YES"){
$(this).css()
}
});
});
如何将font-weight:bold属性应用于data-status = YES的选项 我使用.addClass(“粗体”)
添加它答案 0 :(得分:2)
我相信这就是你要找的东西
$('#test1 option').each(function() {
// alert($(this).text() + ' ' + $(this).val());
if($(this).data('status') == 'YES'){
$(this).css('color','red');
}
});
演示 http://jsfiddle.net/gaby/6N88x/
如果您还想选择多个选项,则需要将multiple
属性添加到select
标记。
<select id ="test1" multiple>
并将脚本更改为
$('#test1 option').each(function() {
// alert($(this).text() + ' ' + $(this).val());
if($(this).data('status') == 'YES'){
$(this)
.css('color','red')
.attr('selected',true);
}
});
答案 1 :(得分:1)
试试这个:
if($(this).data('status') == 'YES')
答案 2 :(得分:1)
我认为您不能设置<option>
的颜色,但您可以循环使用<select>
,如下所示:
$(document).ready(function(){
$('#test1 > option').each(function() {
if($(this).data('status')=="YES") {
$(this).html('test'); // or whatever
}
});
});
答案 3 :(得分:1)
将$(this).data-status
更改为$(this).attr('data-status')
。
答案 4 :(得分:1)
不需要循环,这应该这样做。
$("#test1 > option[data-status=YES]").css("color","red");
答案 5 :(得分:0)
$('#test1 > option').filter(function() {
return $(this).data("status") == "YES";
}).remove(); // or whatever