後台給我的XML範本:
<Pay>0,1,2</Pay>
<input type="checkbox" name="PayTypeList" class="PT1">1
<input type="checkbox" name="PayTypeList" class="PT2">2
<input type="checkbox" name="PayTypeList" class="PT3">3
<script>
($(".PT1").is(':checked')==true)?PT1="0":PT1="";
($(".PT2").is(':checked')==true)?PT2="1":PT2="";
($(".PT3").is(':checked')==true)?PT3="2":PT3="";
</script>
$("#textarea").html("<Pay>"+PT1+","+PT2+","+PT3+"</Pay>")
我用這個方法判斷後拼接但是如果最後一個選項未選擇那麼前一個選項後面就跟了一個逗號,怎麼辦
宣告一個數組,如果某個checkbox被選中,就把值push進去,最後用join轉成以逗號分隔的數組。
樓上用正規表示式只能去除最後一個逗號,如果前面有沒選的,還是會有多餘的逗號。
雷雷
雷雷
1.我理解你的需求是:只要順序展示就可以,不考慮選取的順序。例如無論是先選取2還是先選取0,展示都是0,2;
我的解決方法是,用數組去遍歷,至於遍歷方法可以很多:
方案1:用
reduce
(今天剛學了reduce,拿來玩玩)方案2:用
filter + join
方案3:用
for循環
2.如果考慮點選順序,可以用change事件:當CheckBox改變時,判斷checked,以新增或刪除資料
html:
javascript
(借鑒了
huguangju
建立空數組的方法)作為一個數組,去除數組種空值項,然後再格式化成字串