如何用php中的选定值填充Bootstrap Multiselect?

时间:2015-05-27 17:05:30

标签: javascript php bootstrap-multiselect

我正在尝试填充Bootstrap multiselect,我使用了以下代码 HTML

<form>
   <tr>
      <td><label>Code Planteur :</label></td>
      <td> <input type="text" id="code_planteur" name="code_planteur" class="code_planteur"></td>
   </tr>
   <tr>
      <td><label>Numero de Ticket :</label></td>
      <td><select id="num_ticket" name="num_ticket" class="num_ticket">
          <option value="0"> numero de ticket </option>
          </select></td> 
   </tr>
</form>

和我的php文件ticket.php

<?php
    require 'conn.php';
        if($_POST['id'])
       {
            $id=$_POST['id'];
            $req="select column from table where code_planteur='".$id."' ";
            $req = $pdo->query($req);
            $results = array();
                while($row=$req->fetch())

                    {
                      $data=$row['column'];
                      echo "<option value=".$data.">".$data."</option>";
                    }

        }
?>

我的javascript

$(document).ready(function(){
$(".code_planteur").change(function(){
     var id=$(this).val();
     var dataString = 'id='+ id;
$.ajax({
     type: "POST",
     url: "ticket.php",
     data: dataString,
     cache: false,
     success: function(html){
$(".num_ticket").html(html);
                } 
            });
    });});

如何将我的代码转换为与bootstrap multiselect一起使用

示例https://jsfiddle.net/j086fkdf/

3 个答案:

答案 0 :(得分:0)

它适用于此javascript

$(document).ready(function()
{
   $(".code_planteur").change(function()
        {
             var id=$(this).val();
             var dataString = 'id='+ id;
             $.ajax({type: "POST",
                url: "ticket1.php",
                data: dataString,
                cache: false,
                dataType: "json",
                success: function(data)
                    {
                        $("#num_ticket").empty();
                        $.each(data, function (key, val) {
                        $("#num_ticket").append('<option value="' + val + '">' + val + '</option>');

                    });

                         $("#num_ticket").attr('multiple', 'multiple'); 
                         $("#num_ticket").multiselect(); 



                    } 

                }
            );
        }
    );
});

和我的ticket1.php

<?php
     require "conn.php";

        if($_POST['id']){

          $id=$_POST['id'];
          $req="select num_ticket from paiement where code_planteur='".$id."' ";
          $req = $pdo->query($req);

             while ($row=$req->fetch() ){

                 $resultat[] = $row['num_ticket'];
                } 

             echo json_encode($resultat);

        }

&GT;

答案 1 :(得分:0)

修改表单

    <form>
   <tr>
      <td><label>Code Planteur :</label></td>
      <td> <input type="text" id="code_planteur" name="code_planteur" class="code_planteur"></td>
   </tr>
   <tr>
      <td><label>Numero de Ticket :</label></td>
      <td>
<select id="num_ticket" name="num_ticket" class="num_ticket">
          <option> numero de ticket </option>
          </select>
</td> 
   </tr>
</form>

对于您的ticket.php,我建议您使用准备查询以获得更高的安全性

if($_POST['id']){

  $id=$_POST['id'];
  $req="select num_ticket from paiement where code_planteur=:id";
  $stmt=$pdo->prepare($req);
  $stmt->bindValue(":id",$id);
  $stmt->execute();
  $retour = $stmt->fetchAll(PDO::FETCH_ASSOC);

   foreach ($retour as $key => $value) {
    echo "<option value = '".$value['num_ticket']."'>".$value['num_ticket']."</option>\n";
}

}

和ajax查询

    $(function(){
   $("#code_planteur").change(function()
        {
             var id=$(this).val();
             var dataString = 'id='+ id;
             $.ajax({type: "POST",
                url: "ticket1.php",
                data: dataString,
                cache: false,
                dataType: "json",
                success: function(data)
                    {
                        $("#num_ticket").empty();

                        $("#num_ticket").html(data);
                    });

                         $("#num_ticket").attr('multiple', 'multiple'); 
                         $("#num_ticket").multiselect(); 
                    } 
                }
            );
        }
    );
});

答案 2 :(得分:0)

  1. 如果您希望将值填充为选中状态,则只需使用选项写入所选标记。
  2. 有关详细信息,请参阅:http://www.jqueryscript.net/demo/jQuery-Multiple-Select-Plugin-For-Bootstrap-Bootstrap-Multiselect/