簡體   English   中英

jQuery:參數:硬編碼字符串與ajax檢索的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM