将选项值附加到隐藏字段?

时间:2012-09-10 11:07:21

标签: javascript jquery

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

//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 个答案:

答案 0 :(得分:3)

您可以使用map方法:

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

$jq('.hiddenFieldChosenCities').val(zipCodeValues);

答案 1 :(得分:1)

试试这个

$jq('.hiddenFieldChosenCities').val($jq('.hiddenFieldChosenCities').val() + '|' + zipCodeValue);

答案 2 :(得分:0)

您需要添加值:

$jq('.hiddenFieldChosenCities').val($jq('.hiddenFieldChosenCities').val() + '|' + zipCodeValue);

答案 3 :(得分: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);
    });