2017-03-25 5 views
-1

json 파일의 json 데이터와 함께 selectize.js를 사용하여 "options"태그를 "select"태그에 추가하려하지만 it.please help me를 할 수 없습니다.json이 작동하지 않는 js를 선택하십시오

아래 코드는 내 코드입니다. 여기

<script type="text/javascript"> 
$(function() { 
    $.getJSON("dist/cc.json", function(data) { 
        data = data.smp_country_code; 
        alert(JSON.stringify(data)); 
        $.each(data, function(key, val) { 
        $(".cc").append("<option value='" + key + "'>" + val + "</option>"); 
       }); 
      }); 
}); 
</script> 

<select id="select-state" class=""></select> 

<script> 
$('#select-state').selectize({ 
    valueField: 'country', 
    labelField: 'country', 
    searchField: 'country', 
    options: [], 
    load: function(query, callback) { 
    if (!query.length) return callback(); 
    $.ajax({ 
     url: 'http://localhost/maya/dist/country.json', 
     type: 'GET', 
     dataType: 'json', 
     data: { 
      country: query, 
     }, 
     error: function() { 
      callback(); 
     }, 
     success: function(res) { 
      callback(res); 
     } 
    }); 
    } 
}); 
</script> 

내 JSON 파일 "cc.json"

{ 
"smp_country_code": { 
     "0": "Select a state...", 
     "AL":"Alabama", 
     "AK":"Alaska", 
     "AZ":"Arizona", 
     "AR":"Arkansas", 
     "CA":"California", 
     "CO":"Colorado", 
     "CT":"Connecticut", 
     "DE":"Delaware", 
     "DC":"District of Columbia", 
     "FL":"Florida", 
     "GA":"Georgia", 
     "HI":"Hawaii", 
     "ID":"Idaho", 
     "IL":"Illinois", 
     "IN":"Indiana", 
     "IA":"Iowa", 
     "KS":"Kansas", 
     "KY":"Kentucky", 
     "LA":"Louisiana", 
     "ME":"Maine", 
     "MD":"Maryland", 
     "MA":"Massachusetts", 
     "MI":"Michigan", 
     "MN":"Minnesota", 
     "MS":"Mississippi", 
     "MO":"Missouri", 
     "MT":"Montana", 
     "NE":"Nebraska", 
     "NV":"Nevada", 
     "NH":"New Hampshire", 
     "NJ":"New Jersey", 
     "NM":"New Mexico", 
     "NY":"New York", 
     "NC":"North Carolina", 
     "ND":"North Dakota", 
     "OH":"Ohio", 
     "OK":"Oklahoma", 
     "OR":"Oregon", 
     "PA":"Pennsylvania", 
     "RI":"Rhode Island", 
     "SC":"South Carolina", 
     "SD":"South Dakota", 
     "TN":"Tennessee", 
     "TX":"Texas", 
     "UT":"Utah", 
     "VT":"Vermont", 
     "VA":"Virginia", 
     "WA":"Washington", 
     "WV":"West Virginia", 
     "WI":"Wisconsin", 
     "WY":"Wyoming" 
     } 
} 

은 내가 사용하지 않는 경우 그림 enter image description here

에 참조하시기 바랍니다 작동하지 않습니다 json, 작품입니다. 코드 아래 은 json 데이터를 사용하지 않고 정상적으로 사용됩니다.

<select id="select-state"> 
     <option value="">Select a state...</option> 
     <option value="AL">Alabama</option> 
     <option value="AK">Alaska</option> 
     <option value="AZ">Arizona</option> 
     <option value="AR">Arkansas</option> 
     <option value="CA">California</option> 
     <option value="CO">Colorado</option> 
     <option value="CT">Connecticut</option> 
     <option value="DE">Delaware</option> 
     <option value="DC">District of Columbia</option> 
     <option value="FL">Florida</option> 
     <option value="GA">Georgia</option> 
     <option value="HI">Hawaii</option> 
     <option value="ID">Idaho</option> 
     <option value="IL">Illinois</option> 
     <option value="IN">Indiana</option> 
     <option value="IA">Iowa</option> 
     <option value="KS">Kansas</option> 
     <option value="KY">Kentucky</option> 
     <option value="LA">Louisiana</option> 
     <option value="ME">Maine</option> 
     <option value="MD">Maryland</option> 
     <option value="MA">Massachusetts</option> 
     <option value="MI">Michigan</option> 
     <option value="MN">Minnesota</option> 
     <option value="MS">Mississippi</option> 
     <option value="MO">Missouri</option> 
     <option value="MT">Montana</option> 
     <option value="NE">Nebraska</option> 
     <option value="NV">Nevada</option> 
     <option value="NH">New Hampshire</option> 
     <option value="NJ">New Jersey</option> 
     <option value="NM">New Mexico</option> 
     <option value="NY">New York</option> 
     <option value="NC">North Carolina</option> 
     <option value="ND">North Dakota</option> 
     <option value="OH">Ohio</option> 
     <option value="OK">Oklahoma</option> 
     <option value="OR">Oregon</option> 
     <option value="PA">Pennsylvania</option> 
     <option value="RI">Rhode Island</option> 
     <option value="SC">South Carolina</option> 
     <option value="SD">South Dakota</option> 
     <option value="TN">Tennessee</option> 
     <option value="TX">Texas</option> 
     <option value="UT">Utah</option> 
     <option value="VT">Vermont</option> 
     <option value="VA">Virginia</option> 
     <option value="WA">Washington</option> 
     <option value="WV">West Virginia</option> 
     <option value="WI">Wisconsin</option> 
     <option value="WY">Wyoming</option> 
     </select> 

는 여기에 내가 코드가 그림과 같이 저를 도와주세요 작업을 시도하고 정상적인 JSON없이 사용 및

입니다. enter image description here

답변

3

cc.json 출력을 변경할 수있는 권한이있는 것 같습니다. 그렇다면, 당신은 당신은 $ .getJSON

수동으로 옵션을 추가 할 필요가 없습니다

$('#select-state').selectize({ 
    valueField: 'code', 
    labelField: 'name', 
    searchField: 'name', 
    options: [], 
    load: function(query, callback) { 
    if (!query.length) return callback(); 
    $.ajax({ 
     url: 'http://localhost/maya/dist/cc.json', 
     type: 'GET', 
     dataType: 'json', 
     data: { 
      country: query, 
     }, 
     error: function() { 
      callback(); 
     }, 
     success: function(res) { 
      callback(res); 
     } 
    }); 
    } 
}); 

같은

[{"code":"AL","name":"Alabama"}, ... ,{"code":"WY","name":"Wyoming"}] 

다음 selectize 호출이 될 무언가 같이 출력 뭔가를 포맷 할 수 있습니다