jquery检查多选中的特定选项

时间:2016-08-04 09:58:45

标签: php jquery bootstrap-multiselect

好吧,我有这样的多选:

<select id="filtreMultiselectModif" name="groupes[]" multiple="multiple">

<script> 
$('#filtreMultiselectModif').multiselect(
    {
        includeSelectAllOption: true,
        enableFiltering: true,
        maxHeight: 200
    });
</script>

给了我:

enter image description here

我想要做的是设置检查我存储在PHP表中的一些特定项目。

这是我的jquery代码(没有用)

<script>
$(document).ready(function ()
{
    var arrayFromPHP = <?php echo json_encode($tableauIntitule); ?>;
    $('#filtreMultiselectModif').multiselect(
    {
        includeSelectAllOption: true,
        enableFiltering: true,
        maxHeight: 200
    });

    $('#filtreMultiselectModif option').each(function(i,option)
            {       
                $.each(arrayFromPHP,function(index,groupe){
                     if ($(option).text() === groupe) 
            {
                alert (option.text);
                 $(this).attr('checked', 'checked');
            }
                });
            });
});

基本上我希望在arrayFromPHP中存储的每个项目都在下拉列表中进行检查,但它似乎无法正常工作..

以下是我的PHP数组的代码:

<?php
$tableauIntitule = [];
$i = 0;
while ($data3 = mysqli_fetch_array($req3)) { // Remplissage du SELECT
  $intitule = $data3['intitule'];
  $tableauIntitule[$i] = $intitule;
}
?>

1 个答案:

答案 0 :(得分:2)

  

首先 - 你的问题是关于bootstrap-multiselect(而不是jquery-multiselect)。

您可以使用multiselect('select', VALUES)来设置所选值。

以下是一个例子:

 $(document).ready(function() {
   $('#s1').multiselect();
   $('#s1').multiselect('select', ['a', 'c', '2']);
 });
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css">
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/js/bootstrap-multiselect.min.js"></script>
<select id="s1" multiple="multiple">
    <option value="a">Option A</option>
    <option value="b">Option B</option>
    <option value="c">Option C</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

在您的情况下,如果arrayFromPHP是一个数组(即arrayFromPHP = ['v1', 'v2', 'v3']),您可以执行multiselect('select', arrayFromPHP)

要记住的一件重要事情 - 数组中的数据应该是值而不是选项数据(<option value="VAL">OPTION</option>)。