我有表来自数据库的行,所以我不知道行的数量,每行都有按钮
我想当用户点击按钮时我可以知道用户点击了哪一行,现在问题是当我对这个按钮使用值时
<button id="edit" value="<?= $row['operation_id']; ?>">edit</button>
和像这样的测试脚本
$(document).ready(function(){
$("#edit").click(function(){
data=("#edit").val();
alert(data);
});
});
但是当点击按钮时显示此错误“Uncaught TypeError:Object #edit没有方法'val'”
答案 0 :(得分:4)
错字
data=("#edit").val();
^^^
错过了$
data = $("#edit").val();
或者你可以做
data = this.value;
data = $(this).val();
答案 1 :(得分:3)
您需要使用$
选择jQuery
中的元素以及var
关键字来初始化data
:
var data = $(this).val();
最终代码如下:
$(document).ready(function(){
$("#edit").click(function(){
var data = $(this).val();
alert(data);
});
});
答案 2 :(得分:3)
您缺少$
。你的代码应该是这样的
$(document).ready(function(){
$("#edit").click(function(){
data=$(this).val();
alert(data);
});
});
答案 3 :(得分:1)
以下代码可以正常使用。
$(document).ready(function(){
$("#edit").click(function(){
var data = $("#edit").val();
alert(data);
});
});
答案 4 :(得分:1)
在代码中遗漏了某些内容
$(document).ready(function(){
$("#edit").click(function(){
data=$("#edit").val();
//...^...............
alert(data);
});
});
您可以按照以下方式简化代码
$(document).ready(function(){
$("#edit").click(function(){
data=this.value;
alert(data);
});
});
答案 5 :(得分:1)
我通常会做以下事情:
$(document).ready(function () {
$("#edit").on('click', function () {
var data = $(this).val();
console.log('clicked data: ' + data);
});
});
答案 6 :(得分:1)
你可以试试这个:
存在拼写错误,您可以使用'this'代替选择器。
$(document).ready(function(){
$("#edit").click(function(){
data= $("#edit").val();
or
data= this.val();
alert(data);
});
});