如何识别向jQuery发送值的按钮的id

时间:2015-08-07 21:56:38

标签: php jquery html mysql html5

我正在使用MySQL数据库,并使用PHP显示一些记录。我在每行添加一个按钮,以便用户点击它并在选择中打开一个新的div(maina)。

PHP脚本将生成下一个HTML代码:

<tr><td>Area1</td><td>Dept1</td><td><button class="btn btn-alert" id="edita" value="1"><span class="glyphicon glyphicon-pencil"></span></button></td></tr>
<tr><td>Area2</td><td>Dept2</td><td><button class="btn btn-alert" id="edita" value="2"><span class="glyphicon glyphicon-pencil"></span></button></td></tr>
<tr><td>Area3</td><td>Dept3</td><td><button class="btn btn-alert" id="edita" value="3"><span class="glyphicon glyphicon-pencil"></span></button></td></tr>

等等......我试图使用以下jQuery代码来获取点击按钮的值:

$("#edita").on( "click", function() {
    var regid = $("#edita").val();
    $("#maina").load('hello.php',{"reg_id":regid}, function(response, status, xhr){
        if (status == "error") {
            var msg = "Error!, Something went wrong: ";
            $("#maina").html(msg + xhr.status + " " + xhr.statusText);
        }
    });
});

它适用于第一条记录,它显示hello.php中包含的信息并从第一个按钮获取值;但当我点击其他按钮时没有任何反应,它甚至不打开 maina div(hello.php必须显示在maina中并根据按钮显示不同的信息值)。

我想知道使用由PHP EG edita1 edita2 ... editan 分配的不同ID,但我不知道&#39;知道如何从jQuery代码中调用它们,而无需为每个按钮编写代码块。

我的问题有解决方案吗?你能帮帮我吗?

2 个答案:

答案 0 :(得分:0)

在click事件中,您可以将目标元素称为“this”,因此代码变为:

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

您目前使用的方法选择ID为edita的所有按钮,而.val()将始终选择它找到的第一个值。

另外,为了生成有效的html,我建议为每个按钮使用不同的ID,然后使用类或name属性在jQuery选择器中标识它们。

答案 1 :(得分:0)

所有按钮都有相同的ID。这可能会导致问题。 使用类选择器。然后使用'this'关键字来获取数据。例如

[DllImport(...)]
private static extern int GetInfo
    ([MarshalAs(UnmanagedType.LPWStr)]StringBuilder dst, int dstCapacity);

private void SomeMethod()
{
    var sb = new StringBuilder(8192);

    // perhaps the function can indicate whether the capacity was large enough
    var success = GetInfo(sb, sb.Capacity);
}
<script>
$(".edita").on( "click", function() {
    var regid = $(this).val();
    alert(regid);
    /*$("#maina").load('hello.php',{"reg_id":regid}, function(response, status, xhr){
        if (status == "error") {
            var msg = "Error!, Something went wrong: ";
            $("#maina").html(msg + xhr.status + " " + xhr.statusText);
        }
    });*/
});
</script>

让我知道它是否有用