这里我有一个简单的问题 在我的页面中:
handleSubmit

$(document).ready(function () {
msg = "[{'CodiceProvincia' : '046','Provincia' : 'Lucca'}{'CodiceProvincia' : '108','Provincia' : 'Monza e della Brianza'}{'CodiceProvincia' :'109','Provincia' : 'Fermo'}{'CodiceProvincia' : '037','Provincia' : 'Bologna'}]";
// var msg = $.parseJSON(msgg);
$("#ContentPlaceHolder1_ctl00_dlProvinciaResidenza").empty();
var myDropDownList = $('#ContentPlaceHolder1_ctl00_dlProvinciaResidenza');
$.each(msg, function (i, item) {
alert(item.CodiceProvincia);
});
$.each(jQuery.parseJSON(msg), function () {
myDropDownList.append($("<option></option>").val(this['CodiceProvincia']).html(this['Provincia']));
});
});
&#13;
我正在使用jquery在我的下拉列表中加载城市,但我无法修复错误
:&#34;无法读取属性长度&#34;
在这个示例页面中我使用了一个名为msg的简单变量和数据,但在我的真实页面中我使用了webservice,这只是为了使问题更简单
我能做什么?
答案 0 :(得分:0)
问题可能出在您的web服务中,因为您提供的json示例已损坏。看到它在这里工作:
$(document).ready(function() {
var msg = $.parseJSON('[{"CodiceProvincia": "046","Provincia" : "Lucca"},{"CodiceProvincia" : "108","Provincia" : "Monza e della Brianza"},{"CodiceProvincia" :"109","Provincia" : "Fermo"},{"CodiceProvincia" : "037","Provincia" : "Bologna"}]');
var myDropDownList = $('#ContentPlaceHolder1_ctl00_dlProvinciaResidenza');
myDropDownList.empty();
$.each(msg, function(i, item) {
myDropDownList.append($("<option></option>").val(this['CodiceProvincia']).html(this['Provincia']));
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="Span1">provincia</span>
<select name="ctl00$ContentPlaceHolder1$ctl00$dlProvinciaResidenza" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$ctl00$dlProvinciaResidenza\',\'\')', 0)" id="ContentPlaceHolder1_ctl00_dlProvinciaResidenza"
tabindex="5" class="form-control input-sm"></select>
&#13;
答案 1 :(得分:0)
你需要在元素和双引号之间使用昏迷
例如:
[{“CodiceProvincia”:“046”,“Provincia”:“Lucca”},{“CodiceProvincia”:“108”,“Provincia”:“Monza e della Brianza”},...
2
:“无法读取属性长度”
是第一个foreach的原因。
$.each(msg, function (i, item) {
alert(item.CodiceProvincia);
});
此时“msg”是一个字符串,foreach是不可能的 您需要将“msg”变量转换为json对象
$.each(jQuery.parseJSON(msg), function (i, item) {
alert(item.CodiceProvincia);
});