JQ怎么把当前点击的元素传值到方法参数里?

function fnIsModified(){

var $userName = $('.ltable tr:nth-child(2)').find('td:nth-child(2)'),userNameText = $userName.text(),newText = $('.userName').val(),flag=false;

if(newText !== userNameText){

$userName.text(newText);

flag=true;

}else{};

return flag;
};

$(document).on('click','.userEditBtn',function(event) {

event.preventDefault();

userEdit.dialogShow();

var userName = $(this).parents('tr').find('td:nth-child(2)').text();

$('.userName').attr('value',userName);

});
我点击下面那行修改时,修改完成后改变的值是第一行的,要怎么改?谢谢!

1、通过编辑器写上html页面代码,一个下拉选择框,,一个按钮,引入jq文件。

2、查看HTML显示效果,一个下拉选择框,一个按钮。

3、通过jq代码$("select option:selected")获取选中的值,现在通过点击按钮获取选中的值。

4、查看选取的值对不对。

5、编写html界面,(多个select下拉框,一个按钮,获取属性值的jq代码)。

6、查看结果多个结果是否正确。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26

你可以为“修改”按钮写一个onclick函数,然后用this传值,这样就能判断是点击了那行的修改按钮,代码如下:

<a href="javascript:void(0)" onclick="onModified(this)">修改</a>

function onModified(btn){
    var uname = $(btn).parent("td").parent("tr").find("td:eq(1)");
    alert('我要修改用户名称为' + uname + '的一行');
    /**
        其它代码
    **/
}

另外建议你不要使用形如 $('.ltable tr:nth-child(2)').find('td:nth-child(2)')这样的jQuery选择器,因为class选择器是jQuery中效率最低下的选择器,当表格数据很大时,用这样的选择器会耗费很大的系统资源。

本回答被提问者和网友采纳