[英]JQuery: parameter: hard-coded string vs ajax retrieved string
我正在嘗試預先填充JQuery令牌輸入 。
var assignUserJson=$('#assignUserJson').val();
console.log(assignUserJson); //[{"id":"1","name":"Andrew"},{"id":"3","name":"John"}]
這是我認為應該使用的兩種方式之間的區別:
$('#assignTask').tokenInput('/users/suggest', {prePopulate: assignUserJson}); // doesn't work
這有效:
$('#assignTask').tokenInput('/users/suggest', {prePopulate: [{"id":"1","name":"Andrew"},{"id":"3","name":"John"}]}); // works
這是為什么? 我是否應該能夠從隱藏的輸入字段中獲取值並將其傳遞給tokenInput
函數?
在第一種方法中, assignUserJson
是字符串,而在第二種方法中,它是數組對象。 客觀化第一個應該起作用:
$('#assignTask').tokenInput('/users/suggest', {prePopulate: JSON.parse(assignUserJson)});
使用第一種方法時,您傳遞的是JSON字符串,而不是第二種方法中的傳遞有形的JS對象。
您首先需要解析JSON。 這可以在ECMA5中本地完成,或者對於較舊的瀏覽器,可以通過第三方支持完成。
$('#assignTask').tokenInput('/users/suggest', {prePopulate: JSON.parse(assignUserJson)}); // doesn't work
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.