2014-03-24 59 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

你可以创建小提琴? –