将当前文本作为参数传递给jquery函数

Pass current text as parameter to jquery function

本文关键字:参数传递 jquery 函数 文本      更新时间:2023-09-26

我有这个函数:

function getlst() {
        $.ajax({
            type: "GET",
            url: "/api/Configuration/GetListParameter",
            success: function (data) {
                EmptyGridStep1();
                for (var i = 0; i < data.length; i++) {   
                    $('#tableBody').append('<tr><td><label id="id" name="id" >' + data[i].id + ' </td>'
                     + '<td>' + data[i].key + '</td>' 
                     + '<td><input type="text"   onchange="keydown();"  value="' + data[i].value + '" /></td></tr>');
                }
                initGrid();
            }
        });
    }

Keydown功能

function keydown(value ) 
{
    alert(value);
}

我想换:

<td><input type="text" onchange="keydown();" value="' + data[i].value + '" /></td>

将当前文本作为参数传递给keydown函数。

如何修改代码以完成此任务?

你不必这么做。你所要做的就是将input本身作为参数传递给你的keydown函数

<td><input type="text"   onchange="keydown(this);"  value="' + data[i].value + '" /></td>

只需在这里读取其值

 function keydown(input) 
    {
        alert(input.value);
    }

不是最优雅的方法,我建议您不要使用onchange,而是使用jquerychange事件,这样您的更改事件就只有一个监听器

 $('#tableBody').on("change", "input", function() {
  console.log( this.value );
});

你应该读一下。