2014-04-02 126 views
0

我設計的選擇選項動態HTML像下面的選項:選擇動態使用jQuery

item += "<td class='ddl' style='width:40%;'>"; 
item += "<select>" 
item += " <option id='list' name='selector' value=" + select + ">" + select + "</option>"; 
for (var l = 0; l < array.length; l++) { 
    item += " <option class='ddl' value=" + array[l] + ">" + array[l] + "</option>"; 
} 
item += "</select>"; 
if ("One"!= '') { 
    $('#list').val("One");      
} 
item += "</td>"; 

上面的代碼創建一個動態HTML象下面這樣:

<select disabled=""> 
<option select="" value="Please" name="selector" id="list">Please Select</option> 
<option value="One" class="ddl">One</option> 
<option value="Two" class="ddl">Two</option> 
</select> 

我想設置值選擇爲「One」動態。

注意:代碼不在document.ready中,因爲我不能將代碼保存在ready()中。 可能是我在賦值給Select之前,它在頁面上被複原。請建議我。

+2

什麼是:if(「One」!=''){'? – Felix

+0

@Felix總是「真」的表達。 :-) –

+0

OP:在嘗試選擇選項 – Taleeb

回答

0

您需要調用javaScript以在下拉列表(選擇)添加到頁面後選擇值。例如,如果HTML是

<div id="myContainer" /> 

隨後的JavaScript應該像

var item = ""; 
//Insert your code to create item 
item +="<select id='mySelect'>"; 
item +='<option select="" value="Please" name="selector" id="list">Please Select</option>'; 
item +='<option value="One" class="ddl">One</option> '; 
item +='<option value="Two" class="ddl">Two</option>'; 
item +='</select>'; 

$('#myContainer').append(item); //Add to html 

//Now the id "mySelect" is available 
$('#mySelect').val('One') 

我添加了一個的jsfiddle在http://jsfiddle.net/taleebanwar/n9vCb/

+0

@讓 - 保羅。你能提供一些不起作用的細節嗎?另請參閱jsFiddle。 – Taleeb

+0

這是因爲我添加了「禁用」選擇。我這樣做是因爲原始文章中的HTML已被禁用添加。 – Taleeb

+0

啊,這解釋了它。我會刪除我的評論:) –

0

證明這一點你也可以設置選擇的屬性上相應的選項標籤,因爲您可以動態創建選擇。

0

如果您正在使用jQuery那麼你爲什麼不利用用於創建select,例如,使用這樣的事情(Example)庫:

var numbers = ['one', 'two', 'three', 'four', 'five']; 
var select = $('<select/>', {id:'list', name:'selector'}); 
$.each(numbers, function(key, value) { 
    var text = value[0].toUpperCase() + value.substr(1); 
    var option = $("<option/>", { class:'ddl', value: value, text: text }); 
    select.append(option); 
}); 
select.val('two').appendTo('body'); 

我已經附加了selectbody但你可以將其追加爲td,你可以實現它,給它一個嘗試,創造td同樣的方式插入在tdselect,然後插入表中的td。你也可以檢查this answer