我有以下选择:
<select id="custom-headers" multiple="multiple" class="searchable custom-headers">
<option data-invoice-number="36655" value="1187">RAPCY3</option>
<option data-invoice-number="87172" value="1188">1188</option>
<option data-invoice-number="79190" value="1189">CXETHD</option>
<option data-invoice-number="24584" value="1190">ZDAC2X</option>
<option data-invoice-number="49694" value="1191">2T8SRJ</option>
<option data-invoice-number="11290" value="1192">XDCH5J</option>
<option data-invoice-number="96188" value="1193">83EYS8</option>
<option data-invoice-number="33819" value="1194">WE5PEW</option>
<option data-invoice-number="56529" value="1195">CJEQWM</option>
<option data-invoice-number="55643" value="1196">RAPCY3</option>
<option data-invoice-number="72334" value="1197">1197</option>
<option data-invoice-number="14563" value="1198">CXETHD</option>
<option data-invoice-number="58963" value="1199">ZDAC2X</option>
<option data-invoice-number="44810" value="1200">2T8SRJ</option>
<option data-invoice-number="88482" value="1201">XDCH5J</option>
<option data-invoice-number="9731" value="1202">83EYS8</option>
<option data-invoice-number="41170" value="1203">WE5PEW</option>
<option data-invoice-number="1911" value="1204">CJEQWM</option>
</select>我需要将值和发票号收集到一个数组中。jQuery只适用于Reslist:
o.reservations = [];
$('.custom-headers option:selected').each(function (i, selected) {
o.reservations[i] = $(selected).val();
});给我一个1187, 1188, 1189数组,我需要这样的东西
reslist => 1187, 1188, 1189, invoices => 36655, 87172, 79190试过:
o.reservations = [];
$('.custom-headers option:selected').each(function (i, selected) {
o.reservations[i] = $(selected).val();
o.reservations[i] = $(selected).data('invoice-number');
});不知道如何定义js中的键?
发布于 2016-01-04 16:06:17
$('.custom-headers option:selected').each(function (i, selected) {
o.reservations.push({
value: $(selected).val(),
number: $(selected).data('invoice-number')
});
});这将填充以下数组:
[{value: 1187, number: 36655}, {value: 1188, number: 87172}, ...]发布于 2016-01-04 16:06:24
var arr = {"reslist":[], "invoices":[]};
$('.custom-headers option:selected').each(function (i, selected) {
arr.reslist.push($(this).val());
arr.invoices.push($(this).data("invoice-number"));
});发布于 2016-01-04 16:07:10
用地图。
console.log($('#custom-headers option').map(function(option){
var $this = $(option);
return { invoice-number: $this.data('invoice-number'), value: $this.val() };
}));https://stackoverflow.com/questions/34595092
复制相似问题