2016-05-31 11 views
0
lesen

hier habe ich ein einfaches Problem in meiner Seite haben:JQuery, kann nicht Eigentum Länge

$(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'])); 
 
    }); 
 

 

 

 
});
  
 
       <span id="Span1">provincia</span> 
 
      <select name="ctl00$ContentPlaceHolder1$ctl00$dlProvinciaResidenza" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$ContentPlaceHolder1$ctl00$dlProvinciaResidenza\&#39;,\&#39;\&#39;)&#39;, 0)" id="ContentPlaceHolder1_ctl00_dlProvinciaResidenza" tabindex="5" class="form-control input-sm"></select> 
 
       
 
        <span id="ContentPlaceHolder1_ctl00_Label3">Comune</span> 
 
        <select name="ctl00$ContentPlaceHolder1$ctl00$dlComuneResidenza" id="ContentPlaceHolder1_ctl00_dlComuneResidenza" tabindex="6" class="form-control input-sm"> 
 

 
\t </select> 
 
             
 
    </html>

ich bin mit jquery laden Städte in meinem Drop-Down-Liste, aber ich Canno die fix

Fehler

:

"nicht Eigentum Länge lesen" 210

In dieser Beispielseite habe ich eine einfache Variable namens msg mit den Daten verwendet, aber in meiner realen Seite benutze ich einen Webservice, um die Frage einfacher zu machen.

was kann ich tun?

+0

Wir möchten JSon, um zu sehen, wie Sie Ihre 'webservice codiert haben '. Bis dahin bleibt die Frage unklar. –

Antwort

0

Das Problem könnte in Ihrem Webservice auftreten, da das von Ihnen bereitgestellte json-Beispiel beschädigt ist. Sehen Sie es, hier zu arbeiten:

$(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'])); 
 
    }); 
 
});
<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(&#39;__doPostBack(\&#39;ctl00$ContentPlaceHolder1$ctl00$dlProvinciaResidenza\&#39;,\&#39;\&#39;)&#39;, 0)" id="ContentPlaceHolder1_ctl00_dlProvinciaResidenza" 
 
tabindex="5" class="form-control input-sm"></select>

0
  1. Ihre json ist nicht gut ausgebildet.

Sie benötigen Koma zwischen den Elementen und doppelten Anführungszeichen

exemple:

[{ "CodiceProvincia": "046", "Provincia": "Lucca"}, { "CodiceProvincia": "108", "Provincia": "Monza e della Brianza"}, ...

2.

: "kann Eigenschaft Länge nicht lesen"

ist Ursache durch erste foreach.

$.each(msg, function (i, item) { 
     alert(item.CodiceProvincia); 
    }); 

in diesem Moment "msg" ist eine Zeichenfolge, foreach unmöglich ist, Sie konvertieren "msg" Variable Objekt

$.each(jQuery.parseJSON(msg), function (i, item) { 
     alert(item.CodiceProvincia); 
    }); 
Verwandte Themen