【问题标题】:getting values of multiple select boxes using jquery each使用jquery每个获取多个选择框的值
【发布时间】:2014-04-24 14:36:54
【问题描述】:

您好,我有一家商店,您需要先在其中指定选项,然后才能将某些东西添加到购物车中。我曾经使用单选按钮来添加这些规格,但列表变得很长,所以我重建它以选择框。问题是现在有时会添加规格,有时不会...

选择框是循环填充的。并且是由 smarty 完成的,看起来像这样

        {**************SELECT BOX*******************}
        {if $menuaddonslist[add].mainaddonsname neq '' && $menuaddonslist[add].mainaddonsnamecnt >= 1}
            {$objSearchDetails->menuSubAddonsList($menuaddonslist[add].addonparentid,$menuaddonslist[add].menuaddons_menuid)}
                <div class="single">
                <span class="addonTitle">{$menuaddonslist[add].mainaddonsname|stripslashes}</span>
                <select class="popNameInput" id="selectBox_{$menuaddonslist[add].addonparentid}" name="addonstype_{$menuaddonslist[add].mainaddonsname}" style="border: 1px solid #dedede;margin-bottom:15px;width:230px;">
                {section name="subadd" loop=$menuSubaddonslist}
                    {if $menuSubaddonslist[subadd].subaddonsname neq ''}
                        {if $menuaddonslist[add].mainaddonsnamecnt eq '1'}
                        <option value="{$menuSubaddonslist[subadd].menuaddons_id}">
                          {$menuSubaddonslist[subadd].subaddonsname|ucfirst|stripslashes}
                            {if $menuSubaddonslist[subadd].menuaddons_priceoption eq 'Paid'} 
                            (+&nbsp;&#8364;{$menuSubaddonslist[subadd].menuaddons_price} )
                            {/if}
                        </option>
                        {/if}
                     {/if}
                {/section}
                </select>
                <input type="hidden" name="singleopt" class="singleopt" id="singleopt" value="single">
                </div>
                <div style="clear:both"></div>

这是 tje jquery

            if(singleoption == 'single'){
                var AddonstypeSingle=[];
                $("div.single :option").each( function() {
                    AddonstypeSingle.push( this.value );
                });
                //alert(AddonstypeSingle);
            }

因此,如果有 10 个选择框,它会显示 10 次 div 与类单。然后我循环它并采用 :option var 但有时它只是不起作用。在使用单选选项之前,jquery 是这样的:

            if(singleoption == 'single'){
                var AddonstypeSingle=[];
                $("div.single input[type=radio]:checked").each( function() {
                    AddonstypeSingle.push( this.value );
                });
                //alert(AddonstypeSingle);
            }

效果很好。我也可以给每个框一个唯一的 ID,但问题是这个选择框列表是自动创建的,我不能在 jquery 中硬编码。

我的选择器错了吗?

【问题讨论】:

    标签: javascript jquery forms select smarty


    【解决方案1】:

    你可以试试

    if(singleoption == 'single'){
        var AddonstypeSingle=[];
        $("div.single select").each( function() {
            AddonstypeSingle.push( this.value );
        });
    }
    

    【讨论】:

      【解决方案2】:

      这样就可以了 ;)

      var AddonstypeSingle=[];
      $("div.single option:selected").each(function(){
          AddonstypeSingle.push($(this).val());
      });
      

      【讨论】:

        【解决方案3】:

        获取所有选项的选择器是:

        $("div.single option").each( function (){} );
        

        获取所有选中选项的选择器是:

        $("div.single option:selected").each( function (){} );
        

        【讨论】:

          猜你喜欢
          • 2013-10-11
          • 1970-01-01
          • 2013-03-02
          • 1970-01-01
          • 1970-01-01
          • 2020-06-01
          相关资源
          最近更新 更多