[英]How to get value of select dropdown which is inside a table cell
我有一張桌子(使用dataTables插件)。 在每一行中都有一列具有下拉select
元素的列,其中包含幾個options
。 在另一個單元格中,有一個submit
按鈕(每行)。 盡管實際提交是通過使用POST而不是href的默認GET的AJAX調用進行的,但它由單元格中的<a href />
標記表示。
單擊該行的提交按鈕時,我試圖在下拉列表中檢索所選項目的值。 但是,在我的Java控制台中,它僅返回[object Object]。
值得注意的是,我正在努力解決每個選擇下拉列表具有相同ID的事實。
這是下拉選擇行的代碼:
<form:select path="adminReviewsLetterStatus.id" id="statusID"><form:option value="">' + full.statusDescriptionState + '</form:option>
<form:options items="${statusList}" itemLabel="statusDescription" itemValue="id"/></form:select>
然后,我嘗試使用以下JavaScript來獲取該下拉菜單的值:
var dropDownValue = $(this).prev($("#statusID").find('option:selected').val());
(“提交”按鈕位於帶有下拉菜單的單元格之后的單元格中)。
對於提交按鈕,我使用以下命令:
<a href="addLetterToRev.htm?letRevTypYrID=' + full.reviewTypeID + '&letterId=' + full.id + '&statusIdParameter=' + dropDownValue + '" title="Add">Add</a>
(其中statusIdParameter
是我在控制器中獲取的參數)。
當我打印到Java控制台時,我得到了letRevTypYrID
和letterId
參數的letRevTypYrID
,但是我的statusIdParameter
參數返回[object Object]
。
我覺得我已經快要開始工作了,因此任何建議都將不勝感激。
AJAX調用非常簡單:
$.ajax({
url: $(this).attr('href'),
method: 'POST'
});
return false;
問題是這一行:
var dropDownValue = $(this).prev($("#statusID").find('option:selected').val());
$.prev()
返回一個DOM元素,即您要獲取的object
。 如您所見,您正在var中充滿了$.prev()
。
而是這樣做:
var dropDownValue = $(this).prev(),find("#statusID").val();
$.prev()
應該根據您的問題獲取帶有下拉列表的單元格。 Find將獲得下拉菜單,然后$.val()
在select
元素上工作,該元素由所選選項填充(因此,請勿在option
元素上使用$.val()
。
另外,您應該在ajax語句中填寫url,而不是通過使用<a />
的href
屬性,這將在您回顧代碼時以這種方式為您造成混亂(即使它可以正常工作)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.