jQuery自动完成隐藏输入变量的值的源代码
Source of a jQuery autocomplete being the value of a hidden input variable
我正在使用jQuery的自动完成,但是我在获取源代码引用页面上隐藏输入的值时遇到了问题。
这是隐藏的输入字段:
<input type="hidden" id="array_activities" value="[{ label: 'Football', value: '1' }, { label: 'Tennis', value: '2' }, { label: 'Running', value: '3' }]">
这是javascript:
$("#search").live("focus", function (event) {
$(this).autocomplete({
close: function( event, ui ) { area_input(); },
source: $("#array_activities").val()
});
});
但是没有自动完成。
如果我将源选项的值显式地更改为隐藏输入的值(即将'$("#array_activities").val()'
替换为
'[{ label: 'Football', value: '1' }, { label: 'Tennis', value: '2' }, { label: 'Running', value: '3' }]'),
它工作得很好。
任何想法?
在将其分配为源文件之前对其进行解析
source: JSON.parse( $("#array_activities").val() )
由于预计源为array of objects
和not a string
。
编辑
JSON
字符串带单引号是无效的语法。所有的属性都必须用双引号括起来,以保证语法的正确性。
所以把你的值改成这样
value='[{ "label": "Football", "value": "1" },
{ "label": "Tennis", "value": "2" }, { "label": "Running", "value": "3" }]'
小提琴
如果您希望您的代码按原样运行,那么您可以尝试使用
var arr = eval($("#array_activities").val());
但是使用eval被认为是不好的做法。
查看更多信息
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 活动选项卡's源代码-获取变量s值
- 如何在HTML源代码中提取javascript变量
- 将页面源代码保存在 Javascript 变量中
- 如何使用 JavaScript 将变量插入 SRC(源代码)
- JavaScript源代码中添加变量的问题
- 如何编写javascript变量作为html中img标记的源代码
- 为什么jQuery源代码如此频繁地使用逗号运算符进行变量赋值
- jQuery自动完成隐藏输入变量的值的源代码
- 从存储在变量中的源代码中获取元素
- 解析javascript变量从源代码
- 将php变量赋给javascript会提醒php源代码
- 在源代码中隐藏/混淆Javascript变量