ajax里面的.val,jQuery val()没有处理通过ajax追加的选项

博客讨论了在jQuery中如何通过Ajax获取数据动态填充下拉框,并尝试在加载后设置默认选中项的问题。示例代码显示了一个函数`addOption()`,该函数清空现有选项,然后通过Ajax请求填充`books.php`返回的数据。尽管数据成功添加,但尝试使用`.val()`方法设置默认选中项`bookB`并未生效。问题在于动态添加的选项可能无法立即设置选中状态,而直接在函数中硬编码选项则能正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个jQuery / Ajax函数,它将2 附加到。

function addOption() {

var author = $("#authors").val();

$('#books').empty();

$('#books').html('Please Select');

$.ajax({

type: "post",

url: "books.php",

data: { author:author },

success: function(response){

$('#books').append(response);

}

});

}

response以 -的形式返回

Book A

Book B

现在books是 -

Please Select

Book A

Book B

这很有效。

现在我想在调用selected后使用option设置.val() addOption() -

$('#authors').change( function(){

addOption();

$('#books').val('bookB');

});

这不会选择Book B。

如果我硬编码.append()它有效 -

function addOption() {

var author = $("#author").val();

$('#books').empty();

$('#books').html('Please Select');

$('#books').append('Book A\nBook B);

}

$('#authors').change( function(){

addOption();

$('#books').val('bookB');

});

是否有理由不能使用.ajax选择.val()函数中附加的选项,如果我直接附加它,可以将其添加?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值