首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历jquery中的2个数组并组合

遍历jquery中的2个数组并组合
EN

Stack Overflow用户
提问于 2012-07-05 16:08:41
回答 4查看 434关注 0票数 0

我有两个数组,一个是城市数组,另一个是ID数组…我想同时循环这两个,然后输出一些HTML

现在我只是循环城市,然后将一些HTML添加到a中,如下所示:

代码语言:javascript
复制
if ($jq(".area").length > 0) {

    var region = $jq(".hiddenFieldRegion").val();
    var cityIDs = $jq(".hiddenFieldChosenAreas").val();
    var strcities = $jq(".hiddenFieldChosenCities").val();
    //var cities = strcities.split('|');

    //Set region to be marked
    if (region) {
        $jq(".mapdk").attr("class", region);
    }

    //Appending to searchform
    if (strcities) {
        $jq.each(strcities.toString().split("|"), function (k, v) {
            var v = v.split("|");
            $jq("<option selected />").text(v[0]).appendTo("select.chosen-cities");
        });
    }

}

我希望将im添加到搜索表单的位置,添加一个属性值,以及来自cityIDs数组的ID……

所以我得到了一些HTML,比如:

代码语言:javascript
复制
<option value="XXX">CityName</option>

这有可能吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-05 16:25:04

假设您的城市id和城市名称以相同的方式排序,您可以通过以下数组中的索引访问每个名称/id:

代码语言:javascript
复制
var cityIDs = $jq(".hiddenFieldChosenAreas").val();
var strcities = $jq(".hiddenFieldChosenCities").val();

var cityIDs_array = cityIds.split("|");
var strcities_array = strcities.split("|");

....

if (strcities) {
    $jq.each(strcities_array, function (k, v) {
        //var v = v.split("|"); Unnecessary if strcities is like "city1|city2|city3"
        $jq("<option value='"+cityIDs_array[k]+"' />").text(v).appendTo("select.chosen-cities");
    });
}

通过这种方式,您可以访问循环中的每个城市ID。

但我认为您应该将城市名称和城市id存储在同一个字符串中。例如"city1:1|city2:2|city3:3"。然后,通过使用split函数,您将获得id和名称。

票数 0
EN

Stack Overflow用户

发布于 2012-07-05 16:23:44

假设两个数组中的顺序相同,您可以使用每个函数的索引参数(k):

代码语言:javascript
复制
if (strcities) {
    var aCityIDs = cityIDs.split("|");
    $jq.each(strcities.toString().split("|"), function (k, v) {
        var v = v.split("|");
        var id = aCityIDs[k];
        $jq("<option selected value='"+id+"' />").text(v[0]).appendTo("select.chosen-cities");
    });
}
票数 0
EN

Stack Overflow用户

发布于 2012-07-05 16:25:43

另一个例子:

代码语言:javascript
复制
var strict = ('aaa|eeee|dddd').split('|');
var id = ('1|2|3').split('|');

$.each(strict, function (k) {
            $("<option selected />").text(strict[k]).appendTo("select.chosen-cities").attr('value',id[k]);
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11340249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档