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

4

I have this function :

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();
            }
        });
    }

按键函数

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

我希望你能够翻译:

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

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

我该如何修改我的代码以完成这个任务?


你不可以这样做。你可以调用另一个函数,从HTML元素中检索值,然后以此作为参数调用keydown函数。 - Danmoreng
将当前文本作为参数传递给 keydown 函数,当前文本是指什么?你是指输入框的值吗? - Zakaria Acharki
1个回答

5

您不必这么做。您只需要将input本身作为参数传递给您的keydown函数即可。

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

只需在此处读取它的值即可

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

这不是最优雅的解决方案,我建议您使用jquerychange事件代替onchange,这样您只需要一个单一的事件监听器来处理变化事件。

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

你应该阅读这个


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接