我通过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 );