Javascript Jquery读取编号组中选择下拉列表的数组
我有一个选择下拉列表数组,如下所示:Javascript Jquery读取编号组中选择下拉列表的数组,javascript,jquery,Javascript,Jquery,我有一个选择下拉列表数组,如下所示: <select name="item[1]"> <option value="No">No</option> <option value="Yes">Yes</option> </select> <select name="item[2]"> <option value="No">No</option> <opti
<select name="item[1]">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
<select name="item[2]">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
<select name="item[3]">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
<select name="item[4]">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
不
对
不
对
不
对
不
对
我正在尝试使用Jquery解析它们。名称中的数字由数据库中项目的ID号填充。我基本上希望解析每一个,如果是yes,那么使用ID从数据库中获取商品的价格来计算总价格。这在Jquery中是可能的吗?我可以完成其余的代码没有问题,我只需要帮助解析所有
项
,并返回每个项的值和ID。我还没有测试它,但您可以尝试以下方法:
$("select[name^='item']").each(function(){
console.log($(this).attr("name") + ": " + $(this).find(":selected").attr("value"));
});
只要稍加调整,就可以将其转换为键值对,然后,如果我理解正确,就可以使用eval()
获得所需的值。这里是一个完整的示例(您需要的部分是getIds
方法)
函数getIds(){
var selected=$('select[name^=“item[”])。过滤器(函数(){
返回this.value=='Yes';
}).map(函数(){
返回此.name.match(/\d+/);
});
返回选中的。get();
}
//只是为了展示
//需要时,应该调用getIds()方法。。
$('select').change(函数(){
var-ids=getIds();
$('.results').text(id);
});
不
对
不
对
不
对
不
对
我会使用jQuery,并与结合以获得所选项目的列表
下面是一个可运行的代码段,单击按钮后返回所选项目的数组。由您获取项目ID并生成价格
$(“按钮”)。在(“单击”,函数(){
var id=$('select[name^=“item”]”)。映射(函数(){
如果($(this.val()=“是”)
返回此.name.replace(/\D/g');
其他的
返回null;
}).toArray();
警报(ids);
});
不
对
不
对
不
对
不
对
获取价格
您尝试过什么吗?$(“选择”).each(函数(){if(this.value==“Yes”)//do stuff}