-2

我有一个带有自动完成输入字段的 html 表单,可以打开一个 jquery 对话框。在这个对话框中,我有一个 sql 搜索,需要输入框中的值。如何在对话框中获取 ass 变量的输入?

<!--autocomplete script -->
 <script>
    $(function() {
    $( "#searchImage" ).autocomplete({
        source: "search.php",
        minLength: 1 
      });
   });
</script>

<!-- Dialog Script -->
          <script>    $(function(){       
     $('#imageDialog').dialog({
       autoOpen: false,
       bgiframe: true,
       height: "auto",
       width: 900,
       modal: true,
       position: [ "center" , 150],
       show: {
          effect: "clip",
          duration: 1000
       },
       hide: {
          effect: "clip",
          duration: 1000
       },
       buttons: {
          OK: function() { 
              $(this).dialog( "close" ); 
          }
       }
     });

     $('form#imageForm').submit(function(e){
     e.preventDefault();
     $('#imageDialog').dialog('open');
     });
    });
  </script>

<!-- Search Box -->
   <div class="partSearch">
   <form id="imageForm" name="imageForm" method="get">
   <label for="image"><b>Image: </b></label>
   <input id="searchImage" name="searchImage" type="text" value="" />
   <input type="submit" value="Search" />
   </form>

<!-- Dialog Content -->
   <div id="imageDialog" title="Image">
     <?php
     <Code to get the Image name from input>;
     //DB query
     $query="select image, ssid, to_char(savetime,'DD-MM-YYYY HH24:MI') savetime, path
             from table
             where image like upper('%$IMAGE%')
             order by image asc, savetime desc";    
     ?>
4

2 回答 2

0

在您的“search.php”中,您执行一个方法,在该方法中,您必须搜索数据库并将结果作为 JSON 数组发送给 ajax 调用。

function searchInDB($param) {

    // php code

    return json_encode($sql_result_from_search);
}


<?php
    echo json_encode(array("test","test","test"));
    echo json_encode(array(0=>"test",3=>"test",7=>"test"));
?>

Will give :

["test","test","test"]
{"0":"test","3":"test","7":"test"} 

您必须阅读有关 AJAX 的更多信息。看看这里

于 2013-04-24T15:46:32.150 回答
0

尝试查看jQuery UI autoComplete,而不是直接使用 php,而是使用 AJAX 调用来填充自动完成插件中使用的数组

 <script>
$(function() {

   $( "#tags" ).autocomplete({
      source:  myarray ;  // here put your values from ajax call 
   });
});
</script>

因此,您将使用 jQuery 从输入中获取值。

于 2013-04-24T15:21:11.977 回答