如何使用一个MySQL查询填充多个输入字段

时间:2012-02-06 15:16:56

标签: jquery mysql ajax

我知道如何用这样的ajax调用填充单个INPUT字段。假设这是GO.PHP:

$qry = mysql_query("SELECT * FROM reviews WHERE id = ".$_GET['param']." "); 
while($review = mysql_fetch_array($qry)) {
    echo $review['description'];
}

点击以下内容时:

<a class="editlink" id="<?php echo $review['id']; ?>" href="#"><?php echo $review['title']; ?></a>

我这样叫ajax:

$(".editlink").click(function() {
    $.get("go.php", {param: $(this).attr('id')}, 
        function(data) {
            $('textarea#area1').html(data);
        });    
    return false;
});

'data'由'echo $ review [“description”]'填充并传递给正确填充的TEXTAREA。好的,到目前为止一切正常。但我不知道如何使用相同的mySQL查询填充两个,三个,四个等字段。假设我也有:

<input type="text" name="title">
<input type="text" name="date">
<input type="text" name="author">

如何通过“数据”(GO.PHP)填充所有INPUT字段?

2 个答案:

答案 0 :(得分:1)

我会使用GO.PHP生成并发送一个JSON字符串。来自GO.PHP的JSON字符串类似于:

 {"title" : "mytitle", "date" : "mydate", "author" : "myauthor"}

然后在客户端:

jsonOBJ = {};
$.ajax({
  type: "GET",
  url: "go.php",
  cache: false,
  success: function(data){
     jsonOBJ = jQuery.parseJSON(data);
     for (var key in jsonOBJ) {
       $("input[name=" + key + "]").val(jsonOBJ[key]);
     }
  },
});

答案 1 :(得分:0)

您可以通过多种不同方式选择多个元素。

我建议您将类包装并添加到要选择的input元素中。这样你就可以使用这样的选择器了;

$('div#container-element input.customClass').html(data);

选择元素的其他方法;

ID的多个元素

$('#input1, #input2')

元素中的所有input元素

$('div#container-element input')

“text”类型的所有input元素

$('input[type="text"]')

阅读有关selectors的jQuery文档以获取信息和灵感:)