【问题标题】:Array from php to jquery-ui autocomplete从 php 到 jquery-ui 自动完成的数组
【发布时间】:2012-09-18 13:46:35
【问题描述】:

PHP:

json_encode($data)

输出

[{"sid":"0032","name":"德国"}]

我想在 jquery-ui 自动完成中使用它。但在 jquery-ui doc 中,源代码看起来像这样

    var projects = [
        {
            value: "jquery",
            label: "jQuery",
            desc: "the write less, do more, JavaScript library",
            icon: "jquery_32x32.png"
        }
    ];

如何在 javascript 中将 php 输出转换为这样的数组?

参考:http://jqueryui.com/demos/autocomplete/#custom-data

【问题讨论】:

    标签: php jquery jquery-ui-autocomplete


    【解决方案1】:

    重新制作数组:

    $toJSON = array();
    foreach($data as $num => $val){
        $toJSON[$num]['value'] = $val['sid'];
        $toJSON[$num]['label'] = $val['name'];
    }
    echo json_encode($toJSON);
    

    【讨论】:

      【解决方案2】:
      var availableTags = <?=json_encode($yourArray);?>;
      
      $( "#yourInput_text" ).autocomplete({
          source: availableTags,
          focus: function (event, ui) {
              $("#yourInput_text").val(ui.item.name);
              return false;                                               },
          select: function (event, ui) {
              $("#yourInput_text").val(ui.item.name);
              $("#yourInput).val(ui.item.sid);                                                                
              return false;                                               },
      minLength: 4                                                            
      });
      

      【讨论】:

        【解决方案3】:

        怎么样:

        var projects = eval(data);

        在您的 javascript 代码中。

        【讨论】:

        • 那里不需要使用eval,使用php你可以把json编码的数组放在你想要的任何地方
        猜你喜欢
        • 2013-05-10
        • 2012-06-19
        • 2016-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        相关资源
        最近更新 更多