[英]How to get textbox value via button click Ajax
我有2個輸入:
<td><input id='someName_1' type='textbox' value='1' /><td>
<td><input id='someID_1' class="button1" type='button' value='Submit' /></td>
我有下面的ajax代碼:
$("body").on('click', '.button1', function () {
var params = { id: this.id, value: (?) };
$.ajax({
type: 'POST',
url: '@Url.Action(SomeUrl- pointless)',
dataType: 'json',
cache: false,
contentType: 'application/json; charset=utf8',
data: JSON.stringify(params),
success: function (data, status) {
doingsomething
},
error: function (er, info) {
},
complete: function (xhr, status) {
},
});
});
問題是:如果我所有的ID都是通過服務器的響應動態創建的,那么如何從文本框中使用someID_1在變量“ params”,字段“ value”中獲取值? 輸入也是動態創建的。
有代碼生成了我的輸入:
var s = [];
$.each(data.items, function (i, item) {
var t = "<td><input id='someName_" + item.id + "' type='textbox' value='1' /></td>" +
"<td><input id='someID_" + item.id + "' class='button1' type='button' value='Submit' /></td></tr>";
s.push(t);
});
$('body').html(s.join(""));
由於您的DOM有點問題,您將不得不遍歷前一個td
元素並從那里獲取輸入。
這是一個例子:
$("body").on('click', '.button1', function () {
input = $(this).parent('td').prev('td').children('input[type=textbox]')
var params = { id: $(this).attr('id'), value: input.val() };
$.ajax({
type: 'POST',
url: '@Url.Action(SomeUrl- pointless)',
dataType: 'json',
cache: false,
contentType: 'application/json; charset=utf8',
data: JSON.stringify(params),
success: function (data, status) {
doingsomething
},
error: function (er, info) {
},
complete: function (xhr, status) {
},
});
});
我不確定在這里是否遇到問題,但是也許我誤解了這個問題?
基本上,您可以通過將jquery與以下內容配合使用來提取具有任何ID的任何DOM元素:
$("#MY_RANDOM_ID")
因此,您可以通過以下方式訪問其值(用戶輸入或自動生成的輸入):
$("#MY_RANDOM_ID").val()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.