2014-02-10 147 views
1

我有表中的行来自数据库,所以我不知道行的数量,并有每行的按钮如何从按钮获取价值?

我想当用户点击按钮,我可以知道用户点击的行,现在问题是,当我用价值的按钮这样

<button id="edit" value="<?= $row['operation_id']; ?>">edit</button> 

和测试脚本这样

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     data=("#edit").val(); 
     alert(data); 
    }); 
}); 

但点击按钮显示这个错误时,“遗漏的类型错误:对象#edit有没有方法“ val'“

+1

心灵上的每一个jQuery的调用'$'...有前'( “#edit”)' – devnull69

+0

感谢所有的答案缺少'$'^ _ ^ – robert

回答

4

错字

data=("#edit").val(); 
    ^^^ 

缺少$

data = $("#edit").val(); 

,或者你可以做

data = this.value; 
data = $(this).val(); 
3

您需要使用$选择在jQuery元素以及var关键字来初始化data

var data = $(this).val(); 

最终代码的样子:下面

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     var data = $(this).val(); 
     alert(data); 
    }); 
}); 
1

代码将是做工精细。

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     var data = $("#edit").val(); 
     alert(data); 
    }); 
}); 
1

失去了一些东西在你的代码

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     data=$("#edit").val(); 
     //...^............... 
     alert(data); 
    }); 
}); 

Fiddle Demo

您可以简化代码如下

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     data=this.value; 
     alert(data); 
    }); 
}); 

Fiddle Demo

3

您正在失去$。您的代码应该是这样的

$(document).ready(function(){ 
    $("#edit").click(function(){ 
     data=$(this).val(); 
     alert(data); 
    }); 
}); 

这是Demo Code

1

我一般做到以下几点:

 $(document).ready(function() { 

     $("#edit").on('click', function() {     
      var data = $(this).val(); 
      console.log('clicked data: ' + data); 
     }); 

    }); 
1

你可以试试这个:

有错字的错误,你可以使用'this',而不是选择器。

$(document).ready(function(){ 
    $("#edit").click(function(){ 
    data= $("#edit").val(); 
    or 
    data= this.val(); 
    alert(data); 
    }); 
});