Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery获取多个选择框的值_Javascript_Jquery_Forms_Select_Smarty - Fatal编程技术网

Javascript 使用jquery获取多个选择框的值

Javascript 使用jquery获取多个选择框的值,javascript,jquery,forms,select,smarty,Javascript,Jquery,Forms,Select,Smarty,嗨,我有一个商店,你需要指定选项,然后才能添加到购物车。我曾经使用单选按钮添加这些规格,但列表越来越长,所以我重新构建它以选择框。问题是,现在有时规格被添加,有时它不 选择框在循环中填充。由smarty完成,看起来像这样 {**************SELECT BOX*******************} {if $menuaddonslist[add].mainaddonsname neq '' && $menuaddonslist[add

嗨,我有一个商店,你需要指定选项,然后才能添加到购物车。我曾经使用单选按钮添加这些规格,但列表越来越长,所以我重新构建它以选择框。问题是,现在有时规格被添加,有时它不

选择框在循环中填充。由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>
因此,如果有10个选择框,它会在单类中显示10次div。然后我循环使用:var选项,但有时它不起作用。在使用单选选项之前,jquery是这样的:

            if(singleoption == 'single'){
                var AddonstypeSingle=[];
                $("div.single input[type=radio]:checked").each( function() {
                    AddonstypeSingle.push( this.value );
                });
                //alert(AddonstypeSingle);
            }
效果很好。我也可以给每个框一个uniqe ID,但问题是这个选择框列表是自动创建的,我不能在jquery中硬编码


我的选择器错了吗?

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

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

获取所有选定选项的选择器为:

$("div.single option:selected").each( function (){} );
你可以试试

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

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