返回选项select的javascript输出

返回选项select的javascript输出,javascript,php,Javascript,Php,我正在编写这些代码,需要一些帮助。基本上,我正在尝试获取脚本的结果或输出,并将其放在选项选择之间,如下所示: <select class="form-control" name="property_list"> *insert output javascript here </select> 下面是完整的脚本。这种方法可行吗 <script> $(document).ready(function(){ $("

我正在编写这些代码,需要一些帮助。基本上,我正在尝试获取脚本的结果或输出,并将其放在选项选择之间,如下所示:

<select class="form-control" name="property_list">
  *insert output javascript here               
</select>
下面是完整的脚本。这种方法可行吗

<script>
    $(document).ready(function(){
    $("#client-list").on('change', function postinput(){
        var matchvalue = $(this).val(); // this.value
        $.ajax({ 
            url: 'sql/client-to-property.php',
            data: { matchvalue: matchvalue },
            type: 'post'
        }).done(function(responseData) {
            console.log('Done: ', responseData);
        }).fail(function() {
            console.log('Failed');
        });
    });
  }); 
</script>

<div class="input-group mb-3">
  <span class="input-group-addon gi data-gi-size gi-user-add"></span>
  <select id="client-list" name="client-list">
     <?php
       $sql = "SELECT `id`, `email`
               FROM `clients` ORDER BY `id` ASC";
       $result = $DB_CON_C->query($sql);

       if($result !== false) {
         $data_row = '<option>New Client</option>' . "\n";
         foreach($result as $row) {
           $data_row .=  '<option>' .$row['email'] . '</option>' . "\n";
         }
      }
      unset($row);
      echo $data_row;
    ?>
  </select>
</div>

<select class="form-control" name="property_list">
  *insert output javascript here               
</select>

循环浏览您的响应数据并将选项附加到属性列表中,如下所示:

  $(document).ready(function(){
      $("#client-list").on('change', function postinput(){
        var matchvalue = $(this).val(); // this.value
        $.ajax({ 
          url: 'sql/client-to-property.php',
          data: { matchvalue: matchvalue },
          type: 'post'
        }).done(function(responseData) {
          console.log('Done: ', responseData);

          var data = JSON.parse(responseData); // Assuming response data is a JSON string
          data.each(function(i, property) {
            $("input[name=property_list]").append("<option />").text(property);
          });
        }).fail(function() {
          console.log('Failed');
        });
      });
    }); 
选项也需要值,因此您也可以将该属性添加到选项中:

$("input[name=property_list]").append("<option />").attr('value', property).text(property);
用于将返回的数据添加到select,在完成的函数中,按名称获取select并添加数据。如果返回的数据采用以下格式,则此操作有效:

<option value="1">1</option>
<option value="2">2</option>

您想在select中显示数据库中的数据吗?是的,我的ajax脚本为我的select选项返回了几个选项。我只需要这些选项之间的选项选择,以便用户可以选择。忘记提到脚本的结果是从client-to-property.php生成的。返回的数据是html格式的?我相信html格式的返回数据将适用于选项选择,因为从php生成的文本包含选项选择。您能分享ajax请求的响应吗?谢谢,但我收到错误UncaughtSyntaxError:JSON中位置0处的意外标记<。不起作用,julekgwa。没有错误,但选择为空。没有返回任何选项。@ubuntujavy console.log responseData,并查看是否从php返回数据从client-to-property.php返回的格式为:[New12345]。但是您提供的代码不起作用。您是作为字符串进行响应还是使用json_encode?响应数据在哪里或如何查找console.log?对不起,我对这方面还不熟悉,正在努力学习。
$(document).ready(function () {
    $("#client-list").on('change', function postinput(){
        var matchvalue = $(this).val(); // this.value
        $.ajax({
            url: 'sql/client-to-property.php',
            data: { matchvalue: matchvalue },
            type: 'post'
        }).done(function(responseData) {
            console.log(responseData);
            var data = JSON.parse(responseData);
            $('select[name="property_list"]').html(data);
        }).fail(function() {
            console.log('Failed');
        });
    });
});