Javascript 如何从HTML选择框返回数组?
可能重复:Javascript 如何从HTML选择框返回数组?,javascript,jquery,Javascript,Jquery,可能重复: 这是我的HTML: <select name="select"> <option value='xxx'> xXx </option> <optgroup label="Letters"> <option value='a'> A </option> <option value='b'> B </option> <opt
这是我的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>
取决于选择框选项和选项组。下面是您要求的代码
$(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);
});
在这里你可以测试它;我添加了一些额外的HTML用于测试目的
如果您有任何问题或担忧,请告诉我。与我昨天回答的问题几乎完全相同。。。谢谢你@Michael Berkowski,我想我会用你的问题的答案谢谢你@salih0vicX,这对我来说很好,还有一个问题与我的“重复”感谢相同
$(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);
});