最近用了JQUERY的autocomplete插件,传入的值要用JSON格式。
$().ready(function() {
function formatItem(row) {
return row[0] + " (<strong>id: " + row[1] + "</strong>)";
}
function formatResult(row) {
return row[0].replace(/(<.+?>)/gi, '');
}
var qtyStr="";
<ww:iterator value="qtyUnitList" status="index">
qtyStr+="'<ww:property value='xcname' />',";
</ww:iterator>
var qtyUnits= "["+qtyStr.replace(/,$/,"")+"]"+";";
自已手动用拼接方式组成JSON。但是传入没反应。如果把拼接后的字符串。直接放到JS中的话就能识别。类似下面的MONTHS就能识别。现在估计是存在转换的问题。大家有没有好的解决方法。
var months = ['一月', 'er yue', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];
$("#keyword").autocomplete(qtyUnits, {
minChars: 0,
max: 12,
autoFill: true,
mustMatch: true,
matchContains: false,
scrollHeight: 220,
formatItem: function(data, i, total) {
return data[0];
}
});
});
$().ready(function() {
function formatItem(row) {
return row[0] + " (<strong>id: " + row[1] + "</strong>)";
}
function formatResult(row) {
return row[0].replace(/(<.+?>)/gi, '');
}
var qtyStr="";
<ww:iterator value="qtyUnitList" status="index">
qtyStr+="'<ww:property value='xcname' />',";
</ww:iterator>
var qtyUnits= "["+qtyStr.replace(/,$/,"")+"]"+";";
自已手动用拼接方式组成JSON。但是传入没反应。如果把拼接后的字符串。直接放到JS中的话就能识别。类似下面的MONTHS就能识别。现在估计是存在转换的问题。大家有没有好的解决方法。
var months = ['一月', 'er yue', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];
$("#keyword").autocomplete(qtyUnits, {
minChars: 0,
max: 12,
autoFill: true,
mustMatch: true,
matchContains: false,
scrollHeight: 220,
formatItem: function(data, i, total) {
return data[0];
}
});
});
解决方案 »
- JS中innerHTML = "<input type='button' onclick='select()'>" onclick方法不可调用
- javascript获得另一个网页的链接数
- DIV里的事件问题
- 有段js倒计时的代码请教一下
- javascript中,用户鼠标和键盘的任意动作,可否得到通知?
- 求一正则表达式?表单验证经常用到的!
- Response.Write ("<script language=javascript> javascript:history.go(-1)</script>");能实现这样的功能吗
- 孟老大请进。
- 用window.open 弹出最大化窗口应如何设置参数?
- 请教高人帮我看看这个代码有什么问题,效果出不来,谢谢
- 火狐中js如何给一个select添加OPTION
- window.external.m2_blocked报错
<!--
var a=50,b="xxx";
var arr="{id:"+a+",name:'"+b+"'}";
//-->
</script>
组合成了字符串arr,下一步就是转换成对象了,很快我们会想到使用eval方法,但如果这样做转换会出现错误,今日偶就这样尝试了,那该如何转换成json对象呢?郁闷许久,之后在json官网提供的json.js文件中找到了解决办法,方法如下:
在字符串两端再加上括号然后eval就ok了。测试代码如下:<script type="text/javascript">
<!--
var a=50,b="xxx";
var arr="{id:"+a+",name:'"+b+"'}";
arr=eval('('+arr+')')
alert(arr.name);
//-->
</script>上面代码执行后会弹出“xxx”,说明已经成功转换为json对象了,一个似乎很简单的问题,不过还是郁闷了半天才解决掉,还是记到blog上以加深印象,也希望能帮助遇到此问题的朋友早日解除郁闷。
是{}里面是名称和值之间是冒号,有多个就是逗号间隔。
如:{aa:1,bb:2,cc:3}
现在只能求字符串转成数组如下格式。。
var months = ['一月', 'er yue', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];