2014-04-24 3 views
0

안녕하세요, 장바구니에 항목을 추가하기 전에 옵션을 지정해야하는 상점이 있습니다. 나는 그 스펙을 추가하기 위해 라디오 버튼을 사용 했었지만 목록이 길어지기 때문에 상자를 선택하기 위해 다시 빌드했다. 문제는 이제 때때로 사양이 추가되고 때로는 사양이 추가되지 않는 경우입니다 ...각각 jquery를 사용하여 여러 선택 상자 값 가져 오기

선택 상자는 루프에 채워집니다. 그리고 유식 수행이

 {**************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 개 선택 상자가 그렇다면 tje JQuery와

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

입니다. 그런 다음 루프를 걸고 : option var을 사용하지만 때로는 작동하지 않습니다. 라디오 옵션이 나오기 전에 jquery는 다음과 같았습니다.

잘 돌아갔습니다. 나는 각 상자에 uniqe ID를 줄 수도 있지만 문제는이 선택 상자 목록이 자동으로 만들어지고 jquery에서 하드 코딩 할 수 없다는 것입니다.

내 선택기가 잘못 되었나요? 모든 옵션을 얻을

답변

0

선택기는 다음과 같습니다

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

선택한 모든 옵션을 얻을 수있는 선택은 다음과 같습니다

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

나는 이것이 작동한다고 생각합니다., 감사합니다! – rZaaaa

1

당신이 할 것

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

을 시도 할 수 트릭;)

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