2014-01-21 4 views
0

Я использую jQuery v1.10.2.jQuery set option in dynamic select

Я избранный которым будет заполнен динамически с помощью AJAX:

<select id="mySelect"></select> 

Я пытаюсь установить опцию в ругой АЯКС вызова:

function GetValues(id) { 
    LoadSelectOptions('#mySelect'); 
    /* select has now following options: 
     <option value="0"></option> 
     <option value="1">Test 1</option> */ 
    $.ajax({ 
     .. 
     success: function (data) { 
      $('#mySelect').val(data.value); // data.value = 1 
     }, 
     .. 
    }); 
} 

Этот код $ ('#mySelect') вал (data.value). в моей области успеха вызова ajax не устанавливает параметр «Тест 1». Я также пытался сделать следующее:

$('#mySelect').val(data.value).change(); 
$('#mySelect option[value="' + data.value + '"]').attr('selected', 'selected'); 
$('#mySelect option[value="' + data.value + '"]').attr('selected', true); 
$('#mySelect option[value="' + data.value + '"]').prop('selected', 'selected'); 
$('#mySelect option[value="' + data.value + '"]').prop('selected', true); 

Но ничего не работает в Chrome + Firefox (обе версии).

Спасибо за помощь :)

+0

да .. я уверен, что data.value 1 –

+1

попробуйте установить Вал в ajax полный метод. – Sheetal

+0

@Sheetal да .. вот и все :) Большое спасибо за этот подсказку :) –

ответ

0

Вы можете сделать это: -

$("select#mySelect").val(data.value); 

WORKING DEMO

+0

не работает с моим динамическим выбором :( –

+0

это не работает, потому что это связано с ajax, полный метод - единственный способ обеспечить у вас есть ответ, полностью доступный специально, когда запрос является асинхронным, а лучший способ - успешно выполнить функцию обратного вызова и выполнить его с полученным ответом. – Sheetal

+0

@Sheetal Да .... вы можете отправить ответ, как вы правы. – Anup