Включить только первый вариант в поле выбора - PullRequest
3 голосов
/ 21 марта 2011

На моей странице есть "поле выбора", и я не хочу, чтобы пользователь выбирал какую-либо опцию, кроме первой (пожалуйста, не спрашивайте меня, почему). Я не могу изменить для «ввода» с атрибутом «только для чтения», и я не могу удалить опции. Прошу прощения за ограничения, но так должно быть.

Я пробовал это:

 $('select').attr('disabled',true);

Но бывает, что я не хочу «терять» ценность. У меня есть вызов ajax, использующий эти значения, и когда я его отключаю, значение «больше не существует».

Я тоже это пробовал:

 $('select').click(function(){
      return false;
 });

Но безуспешно.

Ответы [ 5 ]

6 голосов
/ 21 марта 2011

Вы можете сделать это с помощью одной строки кода.

$('option').attr('disabled','disabled').eq(0).removeAttr('disabled');

Проверьте рабочий пример на http://jsfiddle.net/yaGJc/1/

Вы также можете использовать :gt() больше, чем селектор, хотя первый дает больше контроля над тем, какую опцию включить.

$('option:gt(0)').attr('disabled','disabled');

Проверьте рабочий пример на http://jsfiddle.net/yaGJc/2/

1 голос
/ 21 марта 2011

отключить опции с помощью jquery:

$('#selector option:gt(0)').attr('disabled', 'disabled');

Вот скрипка

Должен выдавать HTML следующим образом:

<select multiple>
    <option>test1</option>
    <option disabled>test2</option>
    <option disabled>test3</option>
    <option disabled>test4</option>
    <option disabled>test5</option>
    <option disabled>test6</option>
</select>
0 голосов
/ 21 марта 2011

не уверен, что вам захочется сделать что-то вроде tat, но вы можете попробовать

$("select option").each(function (index, obj) {
    if( index > 1 )
        $(obj).attr("disabled", "disabled");
});
0 голосов
/ 21 марта 2011
var firstValue = $('select:first').val();
$('select:first').attr('disabled', true);

Затем используйте переменную firstValue в вызове ajax.

0 голосов
/ 21 марта 2011

Может быть, вы можете попробовать это

$('.select').attr('disabled', 'disabled');

Я боролся с этим раньше ...

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