0

我目前正在使用 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作为我的自动完成。

TIA

4

2 回答 2

0

转义您的 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(""); 
        },
于 2012-11-26T00:52:41.247 回答
0

默认情况下,jqm 自动完成将您填充的“值”放在您给他的“链接”的末尾(在自动完成功能中)。

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

data-id="'+ value.value +

然后在你的回调函数中你可以做:$a.attr("data-id")得到你的价值。

希望这可以帮助!

于 2012-05-24T09:29:50.200 回答