动态生成的选择不会保持打开状态

时间:2018-01-22 16:27:51

标签: php jquery html-select

我有一个select元素,它是从服务器上的文件填充的,是通过加载php脚本创建的。创建或删除新文件时,它会正确更新,但在单击时不会保持打开状态。它会闪烁并消失,所以我没有机会选择一个选项。我的代码中是否存在导致此行为的内容?

这是我调用PHP文件的表单和脚本:

<form action="/server/php/data/process.php" method="post">
     <select class="ui mini fluid search dropdown" id="templateSelection" type="text" name="selectTemplate" style="height:30px;border:2px solid #ccc;border-radius:none;" onchange="loadTemplate()">
          <option value="" selected="selected">Select Template</option>
     </select>
</form>

<script>
  $(function() {
     $.ajaxSetup ({
         cache: false
     });
     $("#templateSelection").click(function(){
       $(this).load('select_template.php');
     });
  });
</script>

以下是select_template.php

<?php
     foreach(glob(dirname(__FILE__) . '/server/php/data/*.json') as $filename){
     $filename = basename($filename);
     echo "<option value='" . $filename . "'>".$filename."</option>";
  }
?>

1 个答案:

答案 0 :(得分:1)

问题是您绑定到click函数。这意味着,对于每次点击,您都会重新加载select。请改用此脚本,在页面加载时填充并仅运行一次:

$(function() {
  $.ajaxSetup ({
    cache: false
  });
  $("#templateSelection").load('select_template.php');
});
相关问题