首页 > 解决方案 > Jquery - 将默认值设置为动态生成的表单选择

问题描述

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

标签: jqueryajax

解决方案


推荐阅读