#javascript #jquery #vue.js
#javascript #jquery #vue.js
Вопрос:
Мне нужно, чтобы элемент получал тот же многомерный массив по имени или идентификатору в jQuery в качестве переменной.
<input type="text" id="minrange_1" placeholder="Minimum Range" name="range[][min]">
<input type="text" id="maxrange_1" placeholder="Maximum Range" name="range[][max]">
<input type="text" id="rates_1" placeholder="Rates ($)" name="range[][rate]" >
<input type="text" id="minrange_2" placeholder="Minimum Range" name="range[][min]">
<input type="text" id="maxrange_2" placeholder="Maximum Range" name="range[][max]">
<input type="text" id="rates_2" placeholder="Rates ($)" name="range[][rate]" >
Требуется вывод
value = [minrange_value, mxarange_value, rate_value]
или
vaulue = [
0 => {minrange=> minrange value, maxrange => mxarange_value, rate=>rate_value }
]
Комментарии:
1. ванильный совет:
document.getElementById("id").value
2. Повторяющиеся идентификаторы — плохая идея. Вместо этого используйте класс
3. Идентификатор не дублируется в уникальном
Ответ №1:
var minvalue = jQuery("input[name='range[][min]']").map(function(){return jQuery(this).val();}).get();
var maxvalue = jQuery("input[name='range[][max]']").map(function(){return jQuery(this).val();}).get();
var ratevalue = jQuery("input[name='range[][rate]']").map(function(){return jQuery(this).val();}).get();
var range = [];
for(var i=0; i<= minvalue.length;i ){
var r = [];
r['min'] = minvalue[i];
r['max'] = maxvalue[i];
r['rate'] = ratevalue[i];
range.push(r);
}