2016-12-11 34 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

这工作完美...我现在可以告诉用户只选择一个项目,如果他们要使用关键字搜索。谢谢 –

相关问题