2014-03-24 91 views
1

我將包含html的字符串附加到主div。該字符串包含由我無法修改的某個函數生成的下拉列表。現在到包含HTML與下拉此字符串我想設置的下拉列表的選項,然後追加DIVjQuery:爲html字符串選擇設置下拉選項

var stringHtml = "<div> <select>"+ someFunction() + "</select></div>"; 
jQuery('#mainDiv').append(stringHtml); 

所以someFunction()以上有助於獲得了選擇的選項,然後附加選項

我想這樣做財產以後這樣

jQuery(stringHtml).find("select option[value=\"" + sumeValue + "\"]").attr('selected', 'selected'); 

,然後追加HTML,所以我得到所需的值來選擇

感謝

回答

0

這裏的問題是,你還在自身插入該字符串的頁面。然而,你應該插入的是當你調用jQuery(stringHtml)時創建的jQuery對象,因爲這是受你的代碼影響的。結果應該如下所示:

var stringHtml = "<div> <select>"+ someFunction() + "</select></div>"; 
var html = jQuery(stringHtml); //save the whole string as an object 
html.find("select").val(sumeValue); // alter the object 
jQuery('#mainDiv').append(html); // insert the whole object to the page 

這裏是fiddle。注意輕微的優化 - 不需要創建這個複雜的選項選擇器,您可以簡單地設置選擇本身的值。

+0

感謝您的答案,但有一個問題,var html只返回選項,這就是爲什麼小提琴工作,但如果您將html添加到未顯示的stringHtml – user3273621

+0

http://jsfiddle.net/6bLdM/1/我已經插入你好,是沒有得到顯示的HTML – user3273621

+0

@ user3273621,對不起,錯過了點。它可以很容易治癒,請參閱答案更新。小提琴更新:http://jsfiddle.net/6bLdM/2/ – Andrei

0

試試這個:

jQuery(stringHtml).find("select option[value='" + sumeValue + "']").attr('selected', 'selected'); 
+0

不,我試過,但沒有工作。只設置默認值。我需要解決方案,生成stringHtml與應用所選下拉值 – user3273621

+1

你可以創建小提琴? –