2012-09-10 46 views
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); 

    }); 
}); 
+2

爲什麼不添加的所有值設爲一個變量,然後將其分配給隱藏字段? – freebird

回答

1

嘗試這樣

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

太棒了,那個工作完美:) Thx – nuffsaid

+0

很高興它有助於你。沒有「thnx」朋友 – Gautam3164

0

您需要添加值:

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

您可以使用map方法:

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

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

正是'map'。我正要提交相同的代碼:) – VisioN

+0

是的,'map'也是我用的。 [Fiddle](http://jsfiddle.net/ult_combo/tDDXk/)代碼。 –

+0

@FabrícioMatté特別感謝小提琴。 – undefined

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); 
    });