【问题标题】:Jquery AutoComplete Post KeyJquery 自动完成帖子键
【发布时间】:2014-10-19 20:56:18
【问题描述】:

我正疯狂地想弄清楚如何发布键而不是输入字段的值。

jQuery

jQuery( document ).ready(function() {
   jQuery("#autocomplete").autocomplete({
    source: function (request, response) {
        jQuery.ajax({
            url: "{{URL('/autocomplete')}}",
            data: {
                autocomplete: this.term
            },
            success: function (data) {
                  console.log(data[0]['label']);
                  response( jQuery.map( data, function( item ) {
                    return {
                        label: item.label,
                        value: item.id
                    };
                }));
            },
            //This does not get  picked up? 
            select: function(event, ui){
                alert('this is not firing on select?');
                jQuery('#hidden').val(ui.item.value);
            }

        });
    },
});

我已经更新了代码,但我仍然无法在选择时将键推送到隐藏字段。

实时预览(在位置搜索中键入 Stoke) http://isca01.bigwavemedia.info/~hospita2/crawler/public/index.php/search

【问题讨论】:

  • 我不确定你是否理解。这是一个自动完成输入,你想如何在值上使用 key 代替?
  • 嗯,我在输入下面有一个隐藏字段,我打算把钥匙放进去,但我不能让它工作。
  • 在您的 AJAX 成功中,尝试使用 value: item.value 而不是 value: item.id
  • 这可行,但我不希望它在输入中说出实际数字。

标签: php jquery ajax autocomplete


【解决方案1】:
    jQuery( document ).ready(function() {
jQuery("#autocomplete").autocomplete({
    source: function (request, response) {
        jQuery.ajax({
            url: "{{URL('/autocomplete')}}",
            data: {
                autocomplete: this.term
            },
            success: function (data) {
                  response( jQuery.map( data, function( item ) {
                    return {
                        label: item.label,
                        value: item.label,
                        key: item.id
                    };
                }));
            },


        });
    },
    select: function(event, ui){
          console.log('something selected');
          jQuery('#hidden').val(ui.item.key);

          //jQuery('input[name="autocomplete"]').val(ui.item.label);

          jQuery('#autocomplete').attr({
            value: ui.item.label
          });

          console.log(ui.item.label);
          console.log(jQuery('input[name="autocomplete"]').val() + "this is the result of above");
    }
});


});

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2017-02-19
    相关资源
    最近更新 更多