我是一位经验丰富的.net开发人员,但对jquery还是陌生的。
我试图通过jQuery填充选择下拉列表
它不是工作的,所以我首先尝试一些基本的东西
<script type="text/javascript">
$(document).ready(function () {
$('select[name*="edtPersonID"]').change(function () {
fillAddresses('[{"Foo": "Bar"}]');
});
});
function fillAddresses(jsRes) {
alert(jsRes[0].Foo);
}
</script>
据我所读,“ jsRes”应该以某种方式转换为数组,以便jsRes [0]将返回数组中的第一个对象
但是警报真正带来的只是“未定义”
如果我检查jsRes [0],它等于“ [”,表示它被认为是字符串而不是数组
如何解决?
最终代码可能会使用getJson来访问Web服务中的值,然后id使用一些循环将其添加到select的选项中
非常感谢您的时间和耐心
最佳答案
'[{"Foo": "Bar"}]'
定义字符串。要定义数组,请删除引号:[{"Foo": "Bar"}]
。就像在C#中一样。
您还可以使用eval
在字符串中执行js代码(特别是将json字符串转换为js对象)。 eval('([1, 2])')
返回数组[1, 2]
。
由于您说过打算从Web服务获取此字符串,因此它可能很有用。
About eval