下面是做這件事:
$("#ok").on("click", function(){
var output = [],
$selects = $("#s select"),
i;
for (i=0; i < $selects.length; i += 2)
output.push($selects.eq(i).find("option:selected").text() + ":" +
$selects.eq(i+1).find("option:selected").text());
var outputString = "{" + output.join(",") + "}";
});
演示:http://jsfiddle.net/FH2HM/1/
也就是說,通過三三兩兩的選擇循環,獲得的每對所選的選項.text()
值,並把那雙成陣列。然後在循環之後將數組元素連接成一個用逗號分隔的字符串。
注意,如果你想顯示的值在選項元素的value
屬性將使得代碼更簡單,因爲在環行會:
output.push($selects.eq(i).val() + ":" + $selects.eq(i+1).val());
注意,因爲這個代碼遍歷表中的所有選擇都會自動處理任何動態添加的行。
謝謝您的回答... :-) – Selvamani 2013-03-21 09:32:56
嗨,我需要一個更多的幫助。我需要從輸出值設置回到選擇列表選項的相反過程中執行此操作。我在stackoverflow中創建了另外一個問題。 http://stackoverflow.com/questions/15572629/comma-seperate-fiels-set-to-select-list-field你可以請回答.... – Selvamani 2013-03-22 14:21:42