2015-11-12 56 views
0

PHP JSON數據我已經創建了使用PHP我已經然後JSON編碼沒有工作

$json_array = json_encode($newarray); 

在我的jQuery的數組,編碼陣列似乎形成OK(我想?),但是當我嘗試使用json數據 - 什麼都沒有發生?我期待文本框自動完成。

有趣的是 - 它適用於如果我使用arraytxt2,但不是arraytxt1(通過json_encode創建的)。

任何想法,爲什麼arraytxt1不工作?提前致謝。

$(document).ready(function() { 
    var arraytxt1 = [{ 
     "equipmentid": "1", 
     "equipmentmake": "Baxi" 
    }, { 
     "equipmentid": "2", 
     "equipmentmake": "Baxi" 
    }]; 

    var arraytxt2 = [{ 
     "id": "1", 
     "label": "aa" 
    }, { 
     "id": "2", 
     "label": "bb" 
    }, { 
     "id": "3", 
     "label": "bbbb" 
    }, { 
     "id": "4", 
     "label": "abab" 
    }, { 
     "id": "5", 
     "label": "cab" 
    }]; 

    $("#txt1").autocomplete({ 
     source: arraytxt1, 
     minLength: 1, 
     select: function (event, ui) { 
      $("#txt2").val(ui.item.equipmentid); 
     } 
    }); 
}); 
+1

請大家來正確地格式化代碼的時間。它使你和其他人更容易理解。 –

+0

arraytxt1和arraytxt2都是有效的JSON(jsonlint.com)。在你沒有提供的代碼中必須有錯誤。您是否在開發人員控制檯中看到任何錯誤或者#txt2的值不更新? – robmarston

+0

這個代碼中arraytxt1的數據就是例子嗎?或者你是從JavaScript中獲取JSON數據?如果是後者,那麼你可能需要將JSON字符串轉換爲你在這裏的數組格式。 – spaniol6

回答

1

爲自動完成的對象數組正確的鍵labelvalue。值屬性可能不需要你的情況。

https://api.jqueryui.com/autocomplete/#option-source

嘗試:

var arraytxt1 = [{ 
    "equipmentid": "1", 
    "label": "Baxi" 
}, { 
    "equipmentid": "2", 
    "label": "Baxi" 
}]; 
+0

謝謝@ toster-cx數值和標籤標籤是通過php和編碼從數據庫傳來的。我會嘗試更改第二個數組用於測試目的,並查看我是否仍然可以使用它?非常感謝您的意見。 Chris – ChrisOrrick

+0

排序了!謝謝@ toster-cx,你讓我走上正軌。我已經將數組更改爲標識和標籤。感謝所有幫助過我的人。讚賞 – ChrisOrrick