2

只需按一下按钮,我就可以遍历选择中的选项列表。我希望将所有这些选项(选项的值)附加到隐藏字段,由管道分隔|。到目前为止,我已经想出了这个,但是,它只是将选项的最后一个值放在隐藏字段的选择中?

//Select all cities
$jq("input#checkcities").click(function () {

    $jq(".select-cities > option").each(function () {
        var zipCodeValue = $jq(this).val();

        $jq(".select-cities option").attr("selected", "selected");
        $jq(".select-cities option").appendTo(".chosen-cities");

        //Put value of cities in hidden field.
        $jq('.hiddenFieldChosenCities').val(zipCodeValue);

    });
});
4

4 回答 4

3

您可以使用map方法:

var zipCodeValues = $jq(".select-cities > option").map(function () {
                          return this.value;
                    }).get().join('|');

$jq('.hiddenFieldChosenCities').val(zipCodeValues);
于 2012-09-10T11:10:29.200 回答
0

您需要添加值:

$jq('.hiddenFieldChosenCities').val($jq('.hiddenFieldChosenCities').val() + '|' + zipCodeValue);
于 2012-09-10T11:10:10.510 回答
0
  • 创建字符串zipvalues
  • 循环遍历城市并将城市附加到zipvalues
  • 最后将隐藏字段值设置为zipvalues

    // Select all cities
    $jq("input#checkcities").click(function () {
        var zipvalues = "";
    
        $jq(".select-cities > option").each(function () {
            var zipCodeValue = $jq(this).val();
    
            $jq(".select-cities option").attr("selected", "selected");
            $jq(".select-cities option").appendTo(".chosen-cities");
    
            zipvalues += "|" + zipCodeValue;
        });
    
        //Put value of cities in hidden field.
        $jq('.hiddenFieldChosenCities').val(zipvalues);
    });
    
于 2012-09-10T11:11:07.393 回答
0

像这样试试

$jq('.hiddenFieldChosenCities').val($jq('.hiddenFieldChosenCities').val() + '|' + zipCodeValue);
于 2012-09-10T11:11:38.310 回答