下面是做这件事:
$("#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