使用ajax进行HTML输入更新

时间:2014-08-17 19:00:16

标签: php jquery html mysql ajax

我们有一个db:

ID    Name     Price
1   product1    200
2   product2    300
3   product3    400

和我的表格:

<form action="test.php" method="post" />
<input type="text" name="search" id="search" placeholder="enter name product" />
<div id="result">display result form ajax</div>
<label>price</label>
<input type="text" name="price" id="price" readonly" />
<input type="submit" name="submit" />
</form>

js file:

// Start Ready
$(document).ready(function() {  

    // Icon Click Focus
    $('div.icon').click(function(){
        $('input#search').focus();
    });

    // Live Search
    // On Search Submit and Get Results
    function search() {
        var query_value = $('input#search').val();
        $('b#search-string').html(query_value);
        if(query_value !== ''){
            $.ajax({
                type: "POST",
                url: "search.php",
                data: { query: query_value },
                cache: false,
                success: function(html){
                    $("ul#results").html(html);
                }
            });
        }return false;    
    }

    $("input#search").live("keyup", function(e) {
        // Set Timeout
        clearTimeout($.data(this, 'timer'));

        // Set Search String
        var search_string = $(this).val();

        // Do Search
        if (search_string == '') {
            $("ul#results").fadeOut();
            $('h4#results-text').fadeOut();
        }else{
            $("ul#results").fadeIn();
            $('h4#results-text').fadeIn();
            $(this).data('timer', setTimeout(search, 100));
        };
    });

});

当用户在搜索输入中搜索名称产品时(我们向search.php发送ajax请求并显示该关键字之类的产品) search.php:

connection db and other code...
if(product) {
echo '<input type="radio" name="product" id="product" value="'.$result['name'].'" />'.$result['name'];
}

用户选择,现在如何用产品价格更新价格输入?

1 个答案:

答案 0 :(得分:0)

你的'search.php'应该返回price和html的json

{
    price: 200,
    html: "......"
}

并且在成功功能中,您可以更新价格

success: function(json){
    $('#price').val(json.price);
    $("ul#results").html(json.html);
}