可能重复:
Storing select options and optgroups in a JavaScipt array
这是我的HTML:
<select name="select">
<option value='xxx'> xXx </option>
<optgroup label="Letters">
<option value='a'> A </option>
<option value='b'> B </option>
<option value='c'> C </option>
<option value='d'> D </option>
</optgroup>
<option value='zzz'> zZz </option>
</select>
我现在正试图从选择框的子项中获取数组:
[{"xxx":"xXx"},{"letters":{"a":"A","b":"B","c":"C","d":"D"}},{"zzz":"zZz"}]
取决于选择框选项和选项组。
答案 0 :(得分:2)
以下是您要求的代码。
$(document).ready(function () {
var mtest = "[";
var i = 0;
var j = 0;
$("select").children().each(function() {
if (i==0) i+=1; else mtest += ',';
j = 0;
if ($(this).children().length ==0) {
mtest += '{"' + $(this).attr('value') + '":"' + $.trim($(this).html()) + '"}';
} else {
mtest += '{"' + $(this).attr('label') + '":{';
$(this).children().each(function() {
if (j==0) j+=1; else mtest += ',';
mtest += '"' + $(this).attr('value') + '":"' + $.trim($(this).html()) + '"';
});
mtest += '}';
}
;})
mtest += ']';
document.write(mtest);
});
这里http://jsfiddle.net/salih0vicX/WkaNv/你可以测试它;我为测试目的添加了一些额外的HTML ...
如果您有任何问题或疑虑,请与我们联系。