jQM 自动完成如何获取用于回调的值

jQM autocomplete how to get the values for use on callback?

本文关键字:获取 用于 回调 何获取 jQM      更新时间:2023-09-26

我目前正在使用 JQM 自动完成,我可以在回调函数中访问标签 $a.text((,但不能访问值...如何访问值字段?

我的 JSON 结构是

{
    "label": "TEST CLIENT ONE",
    "value": {
        "internalCustomerID": 1,
        "contactName": "DASDASDASD",
        "name": "TEST CLIENT ONE",
        "address": "SESAME STREET",
    }
}
$("#textinput2").autocomplete({
                target: $('#suggestions'),
                source: jsData,
                callback: function(e) {
                    var $a = $(e.currentTarget);
                    console.log("Selected a: " +$a);
                    $('#textinput2').val($a.text());
                    $('#textarea2').val(jsData[id].value.internalCustomerID+' '+jsData[id].value.address);
                    $("#textinput2").autocomplete('clear');
                },
                minLength: 1
            });

我想这样做而不必在数组中再次搜索标签......我正在使用 http://www.andymatthews.net/read/2012/03/27/jQuery-Mobile-Autocomplete-now-available 作为我的自动完成。

蒂亚

默认情况下,jqm 自动完成放置是您填充的"值",在您给他的"链接"末尾(在自动完成函数中(。

为了克服这个问题,我添加到"jqm.autoComplete-1.3.js"文件中line 27: (in the a tag)

data-id="'+ value.value +

然后在你的回调函数中,你可以做: $a.attr("data-id") 来获取你的值。

希望这有帮助!

转义你的 JSON 并将其放入 href 部分(所以它看起来像 #{x:1,y:2},而不是取消转义它,如下所示:

    callback: function(e) {//on each suggested item after it's clicked
            var a = $(e.currentTarget);
           var hDec = str2array(a.attr('href').substr(1));
        now.we.have.an.array(hDec[0],  hDec[1]);
            $('#sym_suggest').val(a.text());
            $("#sym_suggest").autocomplete('clear').val(""); 
        },