繁体   English   中英

用选择的值填充select2下拉列表

[英]Populate select2 dropdown with selected value

我正在使用PHP脚本来编辑存储在数据库中的数据。 数据与动态行一起存储。

在我的脚本中,我还使用了Select2脚本,该脚本可以在下拉菜单中进行搜索。

我正在使用的Ajax脚本如下:

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script> 
    function getName<?php echo $m; ?>() { 
      $.ajax
      ({
        type: 'POST',
        url: './get/name/get1.php',
        dataType: 'text',
        cache: false,
        success: function(data){
          $('#name<?php echo $m; ?>').html(data);
        },
        complete: function(){}
      }); 
    }
    $(document).ready(function(){
      getName<?php echo $m; ?>();
    });
</script>

get1.php我使用以下语句选择数据:

SELECT internal_id, name FROM scu_stock 

scu_stock表具有以下数据:

-------------------------
| internal_id |   name  |
|      1      |   One   |
|      2      |   Two   |
|      3      |  Three  |
|      4      |   Four  |
-------------------------

我要表示为selected value存储在另一个表中。 scu_address

---------------------------------------
| id |  city  | country | internal_id |
| 6  |   aa   |   ww    |      1      |
| 7  |   bb   |   xx    |      2      |
| 8  |   cc   |   yy    |      3      |
| 9  |   dd   |   zz    |      4      |
---------------------------------------

当我打开index.php?id=8我想查看表scu_stock中的数据以及在scu_address表中调用的选定值。

有人知道我该怎么实现吗?

这是我的完整代码:

<?php
  $statement = $connect->prepare("SELECT * FROM scu_address WHERE id = :id");
  $statement->execute(
    array(
      ':id'       =>  $_GET["id"]
    )
  );
  $item_result = $statement->fetchAll();
  $m = 0;
  foreach($item_result as $sub_row)
  {
    $m = $m + 1;
?>
    <tr id="row_id_<?php echo $m; ?>">
      <td><label for="name">Name</label></td>
      <td><select style="width:100%" id="name<?php echo $m; ?>" name="name[]" data-srno="<?php echo $m; ?>"></select></td>

      <script type="text/javascript" src="../../../../vendors/select2/dist/js/select2.min.js"></script>
      <script type="text/javascript">
        $.fn.select2.defaults = $.extend($.fn.select2.defaults, {
          allowClear: true,
          closeOnSelect: true,
          value: 'Name',
          minimumResultsForSearch: 15
        });

        $(document).ready(
          function () {
            var configParamsObj = {
              placeholder: 'Name',
              minimumResultsForSearch: 3
            };
            $("#name<?php echo $m; ?>").select2(configParamsObj);
          });
      </script>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
      <script> 
        function getName<?php echo $m; ?>() { 
          $.ajax
          ({
            type: 'POST',
            url: './get/name/get1.php',
            dataType: 'text',
            cache: false,
            success: function(data){
              $('#name<?php echo $m; ?>').html(data);
            },
            complete: function(){}
          }); 
        }
        $(document).ready(function(){
          getName<?php echo $m; ?>();
        });
    </script>
    </tr>
<?php
  }
?>

用从数据库中获取的选定值填充select2文本框:

  1. 创建PHP变量以填充获取的数据$selecteddata = " "; 然后填写它以获得以下格式$selecteddata .="'1','2','3','4'";
  2. 在select2代码之后,添加以下脚本:

    <script>

    $('#select2ID').val([<?php echo $selecteddata ;?>]);

    $('#select2ID').trigger('change');

    </script>

这样,您将仅选择获取的数据,以便进行编辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM