2016-08-04 8 views
0

Okay habe ich eine Mehrfachauswahl wie folgt aus:jquery Check spezifische Optionen in einer Multiselect

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

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

, die das gib mir:

enter image description here

Was ich tun möchte geprüft setzen einige bestimmte Elemente, die ich in einer PHP-Tabelle speichern.

Hier ist meine jQuery-Code (die nicht funktioniert)

<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'); 
      } 
       }); 
      }); 
}); 

Basicly möchte ich jeden in arrayFromPHP gespeicherte Element in der Dropdown-Liste überprüft werden, aber es scheint nicht zu arbeiten ..

Hier ist der Code für meine PHP-Array für alle Fälle:

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

Antwort

2

zu allererst - y Unsere Frage bezieht sich auf bootstrap-multiselect (und nicht auf jquery-multiselect).

Sie können die multiselect('select', VALUES) verwenden, um die ausgewählten Werte festzulegen. Hier

ein Beispiel:

$(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>

In Ihrem Fall, wenn arrayFromPHP ist ein Array (dh arrayFromPHP = ['v1', 'v2', 'v3']) Sie multiselect('select', arrayFromPHP) tun können.

Eine wichtige Sache zu erinnern - die Daten im Array sollten die Werte sein und nicht die Optionen Daten (<option value="VAL">OPTION</option>).

+0

In der Tat hat es funktioniert! Vielen Dank für Ihre Hilfe knospe dich! Seit Stunden in diesem haha ​​steckte – DeveloppeurDuTurfu

+1

Sie sind mehr als willkommen. Das nächste Mal - setze die richtigen Tags und gebe ein Beispiel, damit es einfacher zu helfen ist :) Es dauerte einige Zeit zu verstehen, dass du ** just ** 'jquery-multiselect' verwendest – Dekel

+0

in Ordnung danke für den Rat :) wirklich zu schätzen hilf Mann – DeveloppeurDuTurfu