2013-02-17 71 views
2

我需要基於表單數據動態構建選擇下拉列表提供了ajax查詢。 我的DOM包含一個元素「組織」與4個孩子。與組織ID和組織名稱動態構建來自DOM數據元素的選擇語句

Organizations = { 
    { id="2", name="Systems"} 
    { id="4", name="Network"} 
    { id="5", name="Operations"} 
    { id= "7", name="Security"} 
} 

孩子我需要建立以下SELECT子句

<select name='organization'> 
    <option value="2">Systems</option> 
    <option value="4">Network</option> 
    <option value="5">Operations</option> 
</select> 

如何動態生成select語句?

+1

什麼是你有問題? – Blender 2013-02-17 22:54:08

+1

僅供參考 - 不要說選擇語句,這聽起來像你在談論做數據庫查詢。 – Klik 2013-02-17 22:55:22

+0

當我看到'select statement'時,我還認爲你在客戶端建立了一個SQL查詢,這是一個非常糟糕的主意。一個更好的標題可能會是「動態創建一個選擇元素」。 JS中的約定是,如果它們是構造函數,只用大寫字母來啓動變量名稱,將它用於普通變量會讓將來讀取代碼的人感到困惑;你應該把'組織'重命名爲'組織'。 – 2013-02-17 23:35:57

回答

2
Organizations = { 
    { id="2", name="Systems"} 
    { id="4", name="Network"} 
    { id="5", name="Operations"} 
    { id= "7", name="Security"} 
} 

鑑於上述目的:

var $el = $('<select></select>'); //create a new DOM Element with jQuery syntax 
for (i in Organizations) { //iterate through the object and append options 
    $el.append('<option value="' + Organizations[i]['id'] + '">' + Organizations[i]['name'] + '</option>'); 
} 

創建的元素然後附加到某個地方......

$('body').append($el); //should work