如何创建jQuery nTier选择比较脚本?
我正在使用jQuery尝试创建匹配/不匹配警报。基本上,我有一系列的下拉列表和输入字段 如果用户下拉选择并选择一个值,并且该值与另一个选择组下拉列表相匹配。然后我需要去比较价格和perCase值,确保它们匹配 如果价格不匹配,我需要生成警报…如果案例不匹配,我需要生成警报 我可以做两件事,但我需要将这件事汇总并持续到更多的select/price/case组中,我对如何做到这一点感到困惑 这是我正在使用的一个经过清理的简化表单如何创建jQuery nTier选择比较脚本?,jquery,forms,compare,onselect,Jquery,Forms,Compare,Onselect,我正在使用jQuery尝试创建匹配/不匹配警报。基本上,我有一系列的下拉列表和输入字段 如果用户下拉选择并选择一个值,并且该值与另一个选择组下拉列表相匹配。然后我需要去比较价格和perCase值,确保它们匹配 如果价格不匹配,我需要生成警报…如果案例不匹配,我需要生成警报 我可以做两件事,但我需要将这件事汇总并持续到更多的select/price/case组中,我对如何做到这一点感到困惑 这是我正在使用的一个经过清理的简化表单 <form name="form1" ID="form1"&g
<form name="form1" ID="form1">
<table>
<tr>
<td>
<select name="selectA">
<option id="A" value="">None</option>
<option id="A" value="A">A</option>
<option id="A" value="B">B</option>
<option id="A" value="C">C</option>
</select>
</td>
<td>
<input id="priceA" type="text" name="price" value="8.99">
</td>
<td>
<input id="perCaseA" type="text" name="perCase" value="4">
</td>
</tr>
<tr>
<td>
<select name="selectB">
<option id="B" value="">None</option>
<option id="B" value="A">A</option>
<option id="B" value="B">B</option>
<option id="B" value="C">C</option>
</select>
</td>
<td>
<input id="priceB" type="text" name="price" value="8.99">
</td>
<td>
<input id="perCaseB" type="text" name="perCase" value="4">
</td>
</tr>
</table>
</form>
没有一个
A.
B
C
没有一个
A.
B
C
我确信仅使用jQuery选择器就可以实现这一点,但不完全是这样。啊,好吧
这将选择所有的select
元素,然后根据触发的select
(显然xxx[value=“xx”]
不适用于select
)检查它们的值来进行过滤。然后过滤任何匹配的select
s(价格文本框)后的input
,以确保其值与触发select
后的input
值不相同。如果仍有匹配项,则表示不一致,需要发出警报
不幸的是,由于表的原因,需要非常难看的parent().next().children()
对于每个案例,嗯,案例,您需要一个类似的代码位。不幸的是,我认为你不能同时检查两个
$("select").change(function ()
{
var $this = $(this);
if ($("select").filter(function () { return $(this).val() == $this.val(); }).parent().next().children("input[value!='" + $this.parent().next().children("input").val() + "']").length != 0)
{
// alert
}
});
伟大的很高兴这对你有帮助——希望解释也有意义。:)