我有这个下拉代码:
$('#addDropdown').click(function() {
var $d = $('<select class="dropdown"><option selected="selected" value="null" rel="null">Choose your data!</option><option value="1" rel="2">Option 1</option><option value="1" rel="2">Option 2</option><option value="14" rel="15">Option 3</option></select><input type="number" min="1" max="99" class="multiplier" name="multiplier" value="1" size="3"/><br/>').fadeIn().delay(1000);
$('#dropdownContainer').append($d);
});
我正在使用此代码将值传递给ajax函数,我使用一个按钮来添加更多具有相同值的下拉列表:
var dropdowns = $(".dropdown"),
one = [],
two = [],
mult = [];
for(var i = 0; i < dropdowns.length; i++) {
one.push(dropdowns.eq(i).find('option:selected').attr('rel'));
two.push(dropdowns.eq(i).val());
mult.push(dropdowns.eq(i).val() * dropdowns.eq(i).find('input[name=multiplier]').val())
}
对于多选项我想获取所选的value属性并将其与数字输入中的值相乘...我的选择器不适用于输入,如何选择该乘数输入?? < / p>
答案 0 :(得分:1)
.find()
只查找当前匹配集的后代元素;既然您需要相邻的元素(兄弟姐妹),请使用.next()
(在这种情况下可能最好)或.siblings()
:
for(var i = 0; i < dropdowns.length; i++) {
one.push(dropdowns.eq(i).find('option:selected').attr('rel'));
two.push(dropdowns.eq(i).val());
mult.push(dropdowns.eq(i).val() * dropdowns.eq(i).next('input[name=multiplier]').val())
}
答案 1 :(得分:0)
mult.push(dropdowns.eq(i).val() * $('.multiplier').val())