Как мне прокрутить опции в окне выбора - PullRequest
1 голос
/ 03 мая 2011

Я хочу перебрать опции в поле выбора, атрибут которого установлен как «data-status = YES» и выберите эти параметры и примените все эти параметры в красном цвете. Как я могу это сделать. Это «data-status» пишется через 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 ("жирный")

Ответы [ 6 ]

2 голосов
/ 03 мая 2011

Я считаю, что это то, что вы ищете

$('#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);
   }
});

демо http://jsfiddle.net/gaby/6N88x/1/

1 голос
/ 03 мая 2011

Нет необходимости в цикле, это должно сделать это.

   $("#test1 > option[data-status=YES]").css("color","red"); 
1 голос
/ 03 мая 2011

Изменить $(this).data-status на $(this).attr('data-status').

1 голос
/ 03 мая 2011

Я не думаю, что вы можете установить цвет <option>, но вы можете перебрать <select> следующим образом:

$(document).ready(function(){
    $('#test1 > option').each(function() {
       if($(this).data('status')=="YES") {
           $(this).html('test'); // or whatever
       }
    });

});
1 голос
/ 03 мая 2011

Попробуйте это:

if($(this).data('status') == 'YES')
0 голосов
/ 03 мая 2011
$('#test1 > option').filter(function() {
    return $(this).data("status") == "YES";
}).remove(); // or whatever

Демо: http://jsfiddle.net/xxzLA/

http://api.jquery.com/filter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...