2012-07-24 59 views
0

我有一些複雜的問題需要提出,而我的Google-Fu顯然太弱以至於無法解決此問題。嘗試將Javascript數組變量分配給HTML輸入值屬性

我建立一個本應通過陣列中的一串名字的翻轉各種各樣的形式,展示了他們全部選擇和:

  • 將選定的名稱爲一組的形式輸入(文字,具體);
  • 動態生成一串具有更多相同文本輸入的div;
  • 把名字的其餘到這些新的div

我已經得到了前兩項工作得很好,用jQuery和規則的Javascript的混合。但是我遇到的問題發生在最後一步,那裏。

下面是我在做什麼的樣本行:

var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=lastNames[i] /></p>'; 
... 
... 
$('.others').append(...,lname,...); 

這是一個for (i=0; i<lastNames.length; i++)循環中,所以該計劃是創建一個div和內部數組中的每個名稱的輸入。這已經起作用了。問題是,當我加載頁面並選擇一個名稱時,會出現3個新divs,每個框內的文本例如是lastNames [i]而不是Smith。

我在這裏丟失了什麼語法?還是比我想象的更復雜?

回答

0

現在你所要做的就是設置一個字符串。您需要將lastNames變量連接到字符串以獲得您想要的結果。

var lname = '<p>Last name: <input type=\'text\' class=\'inputbox\' value=\'' + lastNames[i] + '\'></p>'; 
+0

就是這樣。我本可以發誓,我已經嘗試過,但無濟於事,但顯然我沒有。萬分感謝。 – 2012-07-24 15:38:34

0

我建議你在尋找jQuery templating這種解決方案非常適合於您的問題。

編輯:基本上,你只需設置一個準備好的模板,然後輸入{{each}}條件格式,它會自動創建你有的列表,沒有任何for循環js。

+0

這是一個很好的想法,但我認爲它不適用於我們的環境(我忽略提及這一切都必須在另一個程序中的瀏覽器中運行,所以我不確定「兼容性」擴展到多遠) 。謝謝,雖然;只要模板團隊不記錄文檔,我將來可能會將其用於其他項目。 – 2012-07-25 15:58:29

+0

@KarlM例如standart c#瀏覽器工具使用IE作爲瀏覽器。你只需要檢查女巫瀏覽器引擎使用。 – skmasq 2012-07-25 21:04:18

相關問題