2013-06-27 4 views
-2

Код:Как применить строковое значение?

$(".drpdwn")[0].options.value = "1" 

Мне нужно изменить это значение для "string"

Итак, я закодированы как,

$(".drpdwn")[0].options.value = "string" 

Но значение становится, как "" в quickwatch.

Как применить строковое значение?

+0

возможно дубликат [Установить значения текстового поля в JQuery] (http://stackoverflow.com/questions/415602/set-value-of-textarea-in-jquery) –

ответ

5

$('.drpdwn').val('string');

См the docs.

Edit:

Поскольку существует некоторая путаница по этому поводу. $('.drpdwn') - это объект jQuery, представляющий все элементы класса drpdwn. Этот объект jQuery имеет метод val. Если вы выбираете только один из сопоставленных объектов, используя $('.drpdwn')[0], вы получаете объект DOM (почти то, что вы получили бы, если бы сделали document.getElementsByClassName('drpdwn')[0]). Это, очевидно, не имеет метода val.

Лучший способ обойти это, делает $('.drpdwn') более точным, так что он соответствует только элементу, который вы хотите изменить. Самый простой способ - указать свой элемент id (ala <div id="myElement" class="drpdwn"></div>) и выбрать его с помощью $('#myElement'). Другой способ - использовать свойство value объекта DOM, например $('.drpdwn')[0].value. Это, однако, будет разорвано, как только вы введете другой элемент с этим классом перед элементом, который хотите изменить.

+0

Если я меняю любой целочисленное значение в quickwatch. Например, например, от «1» до «3» означает, что он принимает. Почему это происходит? –

+0

Это потому, что адрес тот же, и значение сделано другим –

+0

Кроме того, я получаю сообщение об ошибке, поскольку 'Object не поддерживает свойство или метод 'val'', когда я закодирован следующим образом:' $ (". Drpdwn") [0 ] .options.val ('string'); ' –

2

с помощью JQuery,

$(".drpdwn").val("string"); 

Я думаю, что вы пытаетесь в JS. если да

document.getElementsByClassName("drpdwn").value="string";