簡體   English   中英

如何通過按鈕單擊Ajax獲取文本框值

[英]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=utf­8',
        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=utf­8',
        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.

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