簡體   English   中英

將隱藏的輸入值獲取到jquery變量

[英]Getting hidden input value to a jquery variable

我正在使用struts 2 <s:iterator>標記將數據添加到jsp頁面。 基本上就是這樣。

<s:iterator value="applicants" var="applicant">
   <label>Applicant Name</label>
   <s:property value="#applicant.firstName"/>
   <s:property value="#applicant.lastName"/>

   <button class="btn btn-success">Approve</button>
   <s:hidden class="applicantid" value="%{#applicant.id}"/>
</s:iterator>

單擊批准按鈕時,如何將相關申請人ID轉換為jquery中的變量? 我嘗試了close(),siblings()方法,但是沒有用。 任何幫助,將不勝感激。

您正在使用class而不是不存在的cssClass 一些Struts2標記允許動態屬性 ,因此在其中一些上,放置class將起作用,而在更嚴格的其他標記上,它將引發解析錯誤。 始終在Struts標記中使用cssClasscssStyle

也就是說,您的解決方案

 var hidden_value = $(this).closest('div').find('input[type="hidden"]').val(); 

依賴於Struts2主題生成的html,如果您更改項目,表單,元素的主題,或者甚至通過升級Struts庫,它可能也會更改。 相反,您應該使用適當的選擇器,在這種情況下,使用的是第一類:

var hidden_value = $(".applicantid").val();

但是,這將應用於該類的每個元素。

如果需要將其應用於單個元素(按下按鈕旁邊的元素),只需為每個隱藏元素生成一個唯一的id ,然后使用ID選擇器即可,例如:

<s:iterator value="applicants" var="applicant" status="ctr">
   ...
   <s:hidden id="applicantid_%{#ctr.index}" 
       cssClass="applicantid" 
          value="%{#applicant.id}"/>
</s:iterator>

var hidden_value = $("#applicantid_1").val();

在某個地方檢索到唯一編號的地方,例如,基於迭代也基於按鈕的id(例如button_1 )生成的代碼,使用javascript提取並用於安裝隱藏的id( applicantid_1 button_1 )。

$('.btn').on('click', function(){
    var hidden_value = $('.applicantid').val();
    console.log(hidden_value);
}

這是使用按鈕中的btn類及其單擊事件,使用Applicantid類作為選擇器,將隱藏字段的值分配給hidden_​​value變量。

我終於可以用這個做

var hidden_value = $(this).closest('div').find('input[type="hidden"]').val();

暫無
暫無

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

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