Проверьте, есть ли значение в выпадающем списке и отключите его в Jquery - PullRequest
0 голосов
/ 20 марта 2012

Как я могу проверить, есть ли элемент в выпадающем списке выбора, и отключить его, если он удовлетворяет некоторому условию?

Заранее спасибо!

Кстати, я попробовал следующее, и ничего не происходит

$('#select-box option').each(function() 
    {if (this.val() == item) 
       {$('#select-box option').attr("disabled","disabled");}});

EDITED *

Второй код, который я использовал при отладке. Это прошло гладко, пока я не сделал сравнение с пунктом. Мне интересно, если это из-за этой стоимости. Если так, то как мне преодолеть это?

function checkSelectBox(item){ <!--alert(item);-->
                               $('#SCOPE option').each(function()
                                 {
                                   if($(this).val()==item)
                                   { alert('Camein')
                                   $(this).attr("disabled", "disabled");
                                     return false;    
                                    }

                                 });
                             }

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Вы имеете в виду:


$('#yourSelectId option').each(function(){
    if ($(this).val() == 'some_value_to_check') {
        $(this).attr("disabled", "disabled");
        return false;
    }
});
1 голос
/ 20 марта 2012

Эй, это рабочий пример: http://jsfiddle.net/R6GAr/11/

HTML: образец

<SELECT NAME="SCOPE" id="SCOPE">  
 <OPTION VALUE="G"> Global
 <OPTION VALUE="D" selected="selected"> Dynamic  
</SELECT>​

JQuery: образец

 $('#SCOPE').change(function(){

    if($(this).val() == 'G') {
      // **disables the option here with attr as below**
      $('#SCOPE option[value="'+$(this).val()+'"]').attr("disabled","disabled");

      // **Now you want that disable to be not selectable as well, this line does that.**
      $('#SCOPE option[value="'+$(this).val()+'"]').attr("selected",false);
  }


});

Надеюсь, это поможет, ура!

...