1

请帮忙,我不太确定如何处理这个问题:我有一个应用程序,其中客户端有几个包含多个字段的部分。有时会出现相同的字段。例如,“数量”或“颜色”可能出现在三个、四个或更多部分中。

当提交 web 表单时,发送到另一端的值是空的,因为下一个为空的 qty 字段将覆盖该值,从而在另一端产生一个空/null 值。[另一端只有一个数量字段]

由于他们想要维护的这个应用程序的结构,我想要一种清晰的方式来使用 jquery 说/执行以下操作:

获取字段#quantityOne,#quantityTwo,#quantityThree,确定其中有一个值,取该值并将其放置在隐藏字段 finalQty 中。

有人可以告诉我如何做到这一点吗?

添加一个注释以进行澄清:

用户将只填写一个部分,因此只填写一个数量字段。因此,如果我将 555 放入 qtyField #1,则应将 555 复制到 finalQty,如果我将 35 放入 qtyField #2,则应将 35 复制到 finalQty

我的代码

html/jquery:

<fieldset id="sectionOne" name="sectionOne">
<legend class='legendHdrs' >Section One</legend>
Name: <input type="text" name="nameOne" id="nameOne" class="name" /><br />
Quantity: <input type="text" name="quantityOne" id="quantityOne" class="quantity"/>
    </fieldset><br /><br />

<fieldset id="sectionTwo">
<legend>Section Two</legend>
Name: <input type="text" name="nameTwo" id="nameTwo" class="name" /><br />
Quantity: <input type="text" name="quantityTwo" id="quantityTwo" class="quantity"/>
</fieldset><br /><br />

<fieldset  id="sectionThree">
<legend>Section Three</legend>
Name: <input type="text" name="nameThree" id="nameThree" class="name" /><br />
Quantity: <input type="text" name="quantityThree" id="quantityThree" class="quantity"/>
</fieldset>
<hr>

Final Qty: <input type="text" name="finalQty" id="finalQty" class="finalQty"/>
 <input type="button" value="Add Qty" id="addQty">
</form>​

    $(document).ready(function() 
{
    $('#addQty').on('click', function()
            {
            var holdval;
        $('#quantityOne,#quantityTwo,#quantityThree').each(function() 
                    {
                        if($(this).val() !== '')
                            {
                                holdval = $(this).val() 
                            }
                    });
        $('#finalQty').val(holdval);
            });

 });
4

2 回答 2

1

根据编辑

$('#addQty').on('click', function(){
       $('.quantity').each(function(){
            var val = $.trim( this.value );
            if(val){
                $('#finalQty')val(val);
                break;
            } 
        });
    });
于 2012-06-06T13:16:04.520 回答
1

使用类并循环遍历它可能会更好,而不是在 jquery 选择器中列出每个节点的 id。

  $('#addQty').on('click', function(){
        $.each($('.quantity'), function(){
            if($(this).val() !== ''){
                //do something
            }
        });
    });
于 2012-06-06T13:22:11.490 回答