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

时间:2015-11-07 11:05:38

标签: javascript jquery html html5 dom

我有这个功能:

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函数。

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

1 个答案:

答案 0 :(得分:4)

您没有必要这样做。您所要做的就是将input本身作为参数传递给您的keydown函数

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

并在此处阅读其值

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

不是最优雅的方式,我建议您使用onchange的{​​{1}}事件,而不是使用jquery,这样您就可以为您的更改事件设置一个侦听器< / p>

change

您应该阅读this