我需要获得input[name="color_cost[0]"]
我有一个像这样的jQuery脚本,但colorCost对象是undefined
var colorCost = $('input[name="color_cost[0]"]').val();
var colorCost = $('input[name="color_cost[0]"]').val();
console.log(colorCost);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="color_cost[]" value="100">
<input type="text" name="color_cost[]" value="200">
<input type="text" name="color_cost[]" value="300">
<input type="text" name="color_cost[]" value="300">
答案 0 :(得分:1)
0
更改选择器。使用.eq(index)
获取您想要的那个。
var colorCost = $('input[name="color_cost[]"]').eq(0).val();
console.log(colorCost);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="color_cost[]" value="100">
<input type="text" name="color_cost[]" value="200">
<input type="text" name="color_cost[]" value="300">
<input type="text" name="color_cost[]" value="300">
答案 1 :(得分:0)
如果您将0
放在方括号之间,它使用了错误的选择器,它应该是'input[name="color_cost[]"]'
,它会为您提供一系列元素。
var colorCost = $($('input[name="color_cost[]"]')[0]).val();
console.log(colorCost);
然后使用$('input[name="color_cost[]"]')[0]
,您可以获取第一个,并将其包装在$()
内,以便将其作为jQuery对象读取,并且可以使用.val()
。
如果您想获得array
中的所有输入值,可以使用:
var inputs = Array.from($('input[name="color_cost[]"]')).map(function(input){
return $(input).val();
});
<强>演示:强>
var colorCost = $($('input[name="color_cost[]"]')[0]).val();
console.log(colorCost);
var inputs = Array.from($('input[name="color_cost[]"]')).map(function(input) {
return $(input).val();
});
console.log(inputs);
console.log(inputs[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="color_cost[]" value="100">
<input type="text" name="color_cost[]" value="200">
<input type="text" name="color_cost[]" value="300">
<input type="text" name="color_cost[]" value="300">
答案 2 :(得分:0)
您可以使用.serializeArray()
您不需要在选择器中指定input
(如果唯一)
var colorCost = $('[name="color_cost[]"]').eq(0).val();
var colorCostArray = $('[name="color_cost[]"]').serializeArray()
console.log(colorCost)
console.log(colorCostArray[0].value)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="color_cost[]" value="100" size="3">
<input type="text" name="color_cost[]" value="200" size="3">
<input type="text" name="color_cost[]" value="300" size="3">
<input type="text" name="color_cost[]" value="300" size="3">
&#13;