簡體   English   中英

如何獲取表格單元格內的select下拉列表的值

[英]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控制台時,我得到了letRevTypYrIDletterId參數的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.

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