[英]Contents of iframe disappears after inserting it using jQuery.append
[英]JQuery.append() after ajax success is not triggered
我的主意大為尋找問題的原因和解決方案。 我知道我想念一些東西,但我不知道它在哪里。 我的目標是在下拉列表更改后進行ajax調用,然后在select multiple中添加append選項。
這是我所擁有的:
$(document).ready( function(){
$('#myselect').append("<option value='test1' selected>Test1</option>"); //this works
$("#mydropdown").on('change', function(){
$.ajax({
type: "POST",
url: "somepage.php",
data: $("#someForm").serialize(),
success: function(msg)
{
alert("Hello World"); //this is triggered
//below line of code does not work
$('#myselect').append("<option value='test3' selected>Tes3</option>");
}
});
});
});
為什么會這樣呢?
所以我已經解決了我的問題。 我在選擇周圍放置了一個具有特定ID的div,並將其初始化,該ID名為theDiv。 然后在我的AJAX請求中
$( "#theDiv" ).empty(); //empty the diev so that select will be removed
//append select
$("#theDiv").append('<select multiple="multiple" id="myselect" name="myselect[]"><option>Some option</option></select>');
InitalizeMultiSelect(); //re-initialize the multiSelect
現在對我來說一切正常。 可能效率不高,但似乎沒有找到任何方法來取消對multiSelect的初始化,因此我認為這對我來說是最好的解決方案。
感謝您一直以來的幫助。
編碼
$('#myselect').append("<option value='test3' selected>Tes3</option>");
對我來說似乎還可以。 但是例如檢查我給你的兩個建議
1)首先嘗試
更改"<option value='test3' selected>Tes3</option>";
到'<option value="test3" selected>Tes3</option>'
2)也嘗試使用selected='selected'
可能也可能導致問題
我誤解了myselect和mydropdown是相同的下拉列表。
抱歉,您的代碼沒問題。
do one thing, try to remove the class of the #myselect(if any class is there) to see if your code works
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.