簡體   English   中英

如何從復選框列表動態獲取值

[英]How to dynamically get the value from the checkbox list

我有一個復選框列表,其中顯示了帳戶ID列表,供員工檢索個人記錄。

<c:forEach var="id" items="${accountList}" varStatus="status">
<input type="checkbox" name="account_id"  value="${id}"/>
</c:forEach>

名稱= account_id被聲明為字符串數組列表。

選擇后,我將結果提交到struts表單,並將結果存儲在字符串數組列表中。在提交腳本中,我需要檢查選擇的帳戶ID的長度並添加計數。最后將值提交到形成。

如何實現這一目標,請大家幫忙。

謝謝

當需要對所選值進行計數時,可以采用以下兩種方法之一。

  • 當http請求包含具有多個值的名稱(在您的情況下為account_id )時,list將作為該名稱的逗號分隔值列表傳遞。 Servlet API提供了一種非常方便的檢索值的方法。

    String accountIds = request.getParameterValues("account_id");

這將為您提供包含帳戶ID列表的數組。 array( accountIds.length )的長度應為您提供所選帳戶ID的數量。

  • 或者,您可以跟蹤使用javascript選擇的帳戶ID。 在復選框的每次選擇上,增加一個counter ,該counter被設置為form hidden-field 提交表單后,可以將隱藏字段作為請求參數進行檢索。
function updateTextArea() {         
        var allVals = [];
        $('input:checkbox[name=checkbox_name]:checked').each(function() {
        allVals.push($(this).val());
        });
        $('#hidden_value').val(allVals);
}
$(function() {
        $('input:checkbox[name=checkbox_name]').click(updateTextArea);
        updateTextArea();
});

“ checkbox_name”是復選框的名稱

allVals.push($(this).val()); 

如果您需要插入復選框的“ id”而不是值,這會將復選框的值推送到ID為“ hidden_​​value”的hiddenfield

allVals.push($(this).attr('id'));

因此,您需要將帶有名稱和ID的輸入字段隱藏在表單內

然后在操作頁面中隱藏此輸入字段中的值。 用“,”分隔符將其拆分,您將獲得一個數組。數組的內容將為您檢查的值,大小將為您提供元素數量。

除此以外

checked_count = $('[name="checkbox_name[]"]:checked').length

在表單提交之前計算此並存儲在隱藏字段中

$("#hidden_id").val(checked_count)

從操作頁面的隱藏字段中獲取值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM