我有一个 jQuery/Ajax 函数,它将 2 附加<option>
到<select>
.
function addOption() {
var author = $("#authors").val();
$('#books').empty();
$('#books').html('<option value="">Please Select</option>');
$.ajax({
type: "post",
url: "books.php",
data: { author:author },
success: function(response){
$('#books').append(response);
}
});
}
response
回来 -
<option value="bookA">Book A</option>
<option value="bookB">Book B</option>
现在books
是——
<select id="books">
<option value="">Please Select</option>
<option value="bookA">Book A</option>
<option value="bookB">Book B</option>
</select>
这很好用。
现在我想在调用后设置selected
option
使用-.val()
addOption()
$('#authors').change( function(){
addOption();
$('#books').val('bookB');
});
这不会被Book B
选中。
如果我硬编码.append()
它的工作原理 -
function addOption() {
var author = $("#author").val();
$('#books').empty();
$('#books').html('<option value="">Please Select</option>');
$('#books').append('<option value="bookA">Book A</option>\n<option value="bookB">Book B</option>);
}
$('#authors').change( function(){
addOption();
$('#books').val('bookB');
});
是否有原因为什么.ajax
无法使用 选择我附加在函数中的选项.val()
,如果我直接附加它们可以吗?