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を使用しています私のオートコンプリートとして。

ティア

4

2 に答える 2

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 に答える
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 に答える