2016-12-11 37 views
1

此代碼允許用戶在網頁上以圖形方式選擇一個或多個汽車模型。我需要檢查是否選擇了多個選項。我怎樣才能得出這個數字來計算所選項目的數量,以及它是否比一個警報(「某事」)好?總之,我需要知道在這裏的示例代碼中是否選擇了雷克薩斯和Inifiti。如果它大於1,我真的需要計數。任何幫助非常感謝,不知道我做錯了什麼。驗證是否使用jquery選擇了多個項目

<div class="options-item-wrapper clearfix"> 
    <?php 
    $modelOptions = array(
     0 => array('title' => 'Lexus'), 
     1 => array('title' => 'Infiniti') 
    ); 

    foreach ($modelOptions as $modelOption) { 
     $selected = ''; 
      $optionValue = ''; 

     if(in_array($modelOption['title'], $modelArray)) { 
      $selected = 'selected'; 
      $optionValue = '<input class="vehicle-option" 
      type="hidden" name="model[]"  
      value="'.$modelOption['title'].'">'; 
     } 

     echo '<div class="options-item '.$selected.'" data-vehicle="'. 
     $modelOption['title'].'"> 
     <div>'.$modelOption['title'].'</div> 
     '.$optionValue.' </div>'; 
    } 
    ?> 
    </div> 

我都試過,但沒有運氣迄今:

var checkedNum = $('input[name="model[]"]:selected').length; 
    alert(checkedNum); 
    if (checkedNum > 1) { 
     alert('Validating the form2'); 
     // User didn't check any checkboxes 
    } else { 
     die(); 
    } 
+0

您應該發佈結果HTML而不是PHP。 –

+0

可能你的工作小提琴會幫助我們。 – ScanQR

+1

@Mike Q也許這會有幫助嗎? https://jsfiddle.net/6Loyke7b/1無論如何,我認爲如果你使用複選框,你需要':checked'而不是':selected'。我相信後者是用於下拉菜單。 –

回答

2

您的代碼不起作用,因爲隱藏輸入元素沒有選擇的狀態。

如果我正確理解你的代碼,如果他們被選中,你將選擇的類添加到你的選項中。難道你只需要計算所選班級的選項數量?

var checkedNum = $('.options-item.selected').length; 
alert(checkedNum); 
if (checkedNum > 1) { 
    alert('Validating the form2'); 
    // User didn't check any checkboxes 
} else { 
    die(); 
} 
+0

這工作完美...我現在可以告訴用戶只選擇一個項目,如果他們要使用關鍵字搜索。謝謝 –

相關問題