通过隐藏的输入进行迭代

时间:2015-02-22 20:47:21

标签: javascript jquery forms checkbox iteration

我有很多复选框。我需要的是当有人检查一个复选框(它有一个'比较')时,我需要填充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);
    });
})

非常感谢任何协助。

0 个答案:

没有答案