Ajax / Jquery添加单击链接到文本输入区域

时间:2016-10-06 07:32:38

标签: javascript php jquery ajax

我是jquery的新手,甚至是更新的ajax,所以请在这里忍受我。

我有以下脚本通过数据库异步获取数据(分支名称):

$(document).ready(function () {
        $("#pickup").on('keyup',function () {
            var key = $(this).val();

            $.ajax({
                url:'modal/fetch_branch.php',
                type:'GET',
                data:'keyword='+key,
                beforeSend:function () {
                    $("#results").slideUp('fast');
                },
                success:function (data) {
                    $("#results").html(data);
                    $("#results").slideDown('fast');
                }
            });
        });
    }); 

 <input type="text" class="form-control empty" name="keyword" id="pickup" placeholder="&#xf041;"/>

当用户输入时,S作为示例,将返回包含S的所有分支,如下图所示:

enter image description here

我想做什么

我需要找到一种方法来修改我的脚本,

  • 允许用户点击链接,获取所需结果(分支)
  • 点击链接(分支)后,需要将pickup
  • 的值附加到表单输入字段

有关如何实现上述目标的任何帮助或建议,非常感谢。

P.S返回的数据(名称)是<a>元素,因此它们是链接。

2 个答案:

答案 0 :(得分:1)

据我所知data中的success:function (data)包含一些<a>元素,因此您需要添加处理程序来处理点击这些元素:

// use `on` as elements are added dynamically
$( "#results" ).on("click", "a", function() {
    // take `text` of a clicked element and set it as `#pickup` value
    $( "#pickup" ).val( $( this ).text() );
    // return false to prevent default action
    return false;
});

答案 1 :(得分:1)

在链接上添加onclick。试试这个

<a onclick="func(this);" data-value="Strand">Strand</a>

function func(idn){
    var value = $(idn).attr("data-value");

    $("#pickup).val(value); //assuming that the pickup field has a "pickup" id
}