在jQuery中拆分此数组

时间:2012-06-20 13:27:56

标签: javascript jquery

我有一系列城市和ID看起来像:

Brønderslev|810,Frederikshavn|813,Hjørring|860,Jammerbugt|849,Læsø|825,Mariagerfjord|846,Morsø|773,Rebild|840,Thisted|787,Vesthimmerland|820,Aalborg|851

想要这个:

<option value="810">Frederikshavn</option>

想要这个:

<option value="813">Frederikshavn</option>

逗号分隔键/值,管道将键与值分开。

我到目前为止,但它似乎没有循环?

//Get cities by Region

函数GetCitiesByRegion(args){

var params = '{"regionGuid":"' + args + '"}'

var request = {
    type: "POST",
    async: false,
    cache: false,
    url: "http://" + location.hostname + "/webservices/services.svc/GetCitiesByRegion",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: params,
    success: function (result) {
        //alert("Data Loaded: " + result.d);
        var resultData = result.d;
        alert(resultData);
        $jq.each(resultData.split('|'), function (city, value) {
           //alert(this);
           alert(city + ': ' + value);
        });
    },
    error: function (xhr, status, error) {
        alert('Fejl ved webservice: error: ' + error);
    }
};

$jq.ajax(request);

}

2 个答案:

答案 0 :(得分:5)

这会将您的字符串转换为option元素:

$.each(str.split(","), function(k, v) {
    var v = v.split("|");
    $("<option />").text(v[0]).val(v[1]).appendTo("select");
});

DEMO: http://jsfiddle.net/XRD6Y/

答案 1 :(得分:0)

您请求的是JSON格式,不是字符串。

因此,您无法使用split()将其更改为text / html。