Я получаю динамически генерируемые параметры выбора через ajax, и я хотел бы установить для него значение по умолчанию, и для этого я сделал это так
$.ajax ({
url: ..,
data: ...,
type: "POST",
dataType: "html",
cache: false
}).done ( function ( data ) {
console.log('success callback 1');
$( 'body' ).find( '[data-html-select="mark"]' ).html( data );
}).done(function() {
console.log('success callback 2');
$( 'body' ).find( '[data-html-select="mark"]' ).val( 10 );
})
ajax вернул данные
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
...
HTML
<select data-html-select="mark">
<option value=""></option>
</select>
К сожалению, я понял, что иногда значение по умолчанию не установлено.
Я думаю, что проблема связана с тем фактом, что при установке значения параметры еще не были полностью загружены.
Чтобы решить эту проблему, я попытался безуспешно.
}).done ( function ( data ) {
$( 'body' ).find( '[data-html-select="mark"]' ).html( data );
}).done(function() {
$( 'body' ).find( '[data-html-select="mark"]' ).val( 10 );
})
или
$( 'body' ).find( '[data-html-select="mark"]' ).html( data ).val( 10 );