2013-08-15 2 views
0

Я пытаюсь установить значение поля выбора с помощью jquery.Here код, который я есть:с помощью JQuery, чтобы установить значение поля выбора

$(function() { 
    $("#contact_types").val($("#contact_type_description").val()); 
}); 

Я не получает никаких сообщений об ошибках, но значение поле выбора не установлено правильно. Когда я отладки в консоли в Chrome, это то, что я получаю:

> $("#contact_type_description").val() 
> "Office" 


> $("#contact_types").html() 
> "<option value="6">Home</option><option value="4">Mobile</option><option value="5">Office</option>" 

Можете ли вы сказать мне, что я делаю неправильно?

+1

Значение вариант с текстом «Офис» равен 5, а не «Офис». –

+0

Вы имеете в виду начальное значение поля выбора? – peterchon

+0

Грим, как только я купил сообщение, я увидел свою ошибку. Ты прав! если вы хотите отправить ответ в качестве ответа, я его приму. – dot

ответ

1

Там нет <option> с значением офиса , это то, что val ищет, значение, а не innerHTML.

Вы можете использовать это:

var theValue = $("#contact_type_description").val(); 
$('#contact_types option').filer(function(){ 
    return this.innerHTML === theValue; 
}).prop('selected', true); 
0

Вам нужно установить выбранное свойство опции Выбрать, чтобы правда, это, вероятно, следует в изменении или нажатие клавиши события обработчик некоторого элемента управления:

$('#contacttypes option').each(function(){ 
    if($(this).text() == SOME_VALUE_YOU_GET_FROM_SOMEWHERE) 
    $(this).prop('selected', true);  
}); 
+1

Что может пойти не так с жестким кодированием '3'? – gdoron

+0

Ой, и это должно быть '2', поскольку' eq' использует нулевой базовый индекс. – gdoron