我有很多复选框。我需要的是当有人检查一个复选框(它有一个'比较')时,我需要填充4个隐藏表单输入中的一个。我们的想法是比较最多四种产品(通过复选框选择的产品),以及何时按下"比较"按钮,它会将隐藏输入的值发送到页面,然后我可以使用它来查询数据库。
我遇到的问题是使用jQuery填充隐藏的表单字段,但是如果用户取消选中复选框,则从隐藏的输入中删除该项并使其可用于保存其他值。
<input type="hidden" class="comp" name="compare_0" id="compare_0"/>
<input type="hidden" class="comp" name="compare_1" id="compare_1"/>
<input type="hidden" class="comp" name="compare_2" id="compare_2"/>
<input type="hidden" class="comp" name="compare_3" id="compare_3"/>
产品复选框如下所示,其中一个refid包含我用以下内容填充隐藏字段所需的产品ID:
<input type="checkbox" class="compare" refid="productIDvalue"/>
<input type="checkbox" class="compare" refid="16809"/>
<input type="checkbox" class="compare" refid="27091"/>
<input type="checkbox" class="compare" refid="W3490"/>
<input type="checkbox" class="compare" refid="ST089"/>
因此,当选中某个项目时,它会使用productID的值填充打开的隐藏表单:
<input type="hidden" class="comp" name="compare_0" id="compare_0" value="ST089"/>
以下是损坏的代码:
$('.compare input').each(function() {
$(this).click(function(){
var me = $(this).attr("refid");
var img = $(this).attr("imgloc");
//populates a tray containing product images
$(".compareTray ul li:not(:has(>img))").first().append('<img src="' + img + '" alt="' + me + '" height="28" width="28" />');
//mangled portion
$(".comp:not([value])").value(me);
});
})
非常感谢任何协助。