如何从按钮获得价值?

时间:2014-02-10 14:50:50

标签: javascript jquery html ajax

我有表来自数据库的行,所以我不知道行的数量,每行都有按钮

我想当用户点击按钮时我可以知道用户点击了哪一行,现在问题是当我对这个按钮使用值时

<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'”

7 个答案:

答案 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);
    });
});

这是Demo Code

答案 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);
    });
});

Fiddle Demo

您可以按照以下方式简化代码

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

Fiddle Demo

答案 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);
  });
});