Javascript/JQuery多输入,获取输入位置

Javascript/JQuery multiple input, get input position

本文关键字:输入 位置 获取 JQuery Javascript      更新时间:2023-09-26

我有一个具有相同名称的多个输入的表单。用户将能够动态地添加/删除输入行。例如

<div><select name="Car[]"></select> <input name="Qty[]"></div>
<button> Add another line</button>

通过用户交互,它有可能变成:

<div><select name="Car[]"></select> <input name="Qty[]"></div>
<div><select name="Car[]"></select> <input name="Qty[]"></div>
<div><select name="Car[]"></select> <input name="Qty[]"></div>
.......
<button> Add another line</button>

添加按钮只需克隆父项()并将其附加在下面。

我想强制执行,例如本田思域,唯一允许的数量是少于9。丰田普锐斯数量少于17…

强制执行将在jquery.change()函数上使用$(输入[name="Qty"]).change)

$( input[name="Qty"] ).change(function() {
   if(***value car*** == "Honda Civic" && $(this).val() > 9) $(this).val(0);
   else if(***value car*** == "Toyota Prius" && $(this).val() > 17) $(this).val(0);
   else if(***value car*** == "Maserati Ghibli" && $(this).val() > 3) $(this).val(0); 
});

如何获取输入量的位置,并获取输入车的值?

难道不能创建一个将汽车名称存储到极限的对象吗?例如:

var carLimits = {
    'Honda Civic': '8',
    'Toyota Prius': '16'
};

然后你可以计算用户添加了多少"东西"。

hondaCivicCount++

然后创建一个if语句,在添加"thing"之前检查hondaCivicCount是否小于或等于carLimit

不过,如果你所做的一切都需要安全,你最好做一些服务器端验证。

试试Jquery.size(),它会告诉你有多少选择或输入https://api.jquery.com/size/.

并使用.ech()获取值https://api.jquery.com/each/