[英]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標記中使用cssClass
和cssStyle
。
也就是說,您的解決方案
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.