0

我有一个用于 jquery 的 blockUI 插件,通过它我在覆盖框中调用另一个 php 文件。我想通过多个相同id的按钮激活该功能(这里是pageDemo1)。但是当我这样做时,只有一个按钮起作用,而所有其他按钮都不起作用。谁能解释为什么会这样?我应该怎么做才能让它发挥作用?

$(document).ready(function() { 

    $('#pageDemo1').click(function() { 
        $.blockUI({ message: $('#domMessage') }); 
        test(); 
    }); 

    $('#submit').click(function() {
    var action = $("#form1").attr('action');
    var form_data = {
        message: $("#message").val(),
        is_ajax: 1
    };

    $.ajax({
        type: "POST",
        url: action,
        data: form_data,
        success: function(response)
        {
            if(response == 'success')
                $("#form1").slideUp('slow', function() {
                    $("#message").html("<p class='success'>message</p>");
                });
            else
                $("#message").html("<p class='error'>message</p>"); 
        }
    });

    return false;
}); 
});
4

2 回答 2

0

乍一看,不要使用具有相同 id 的 html 元素。您可以将事件附加到具有相同类、名称等的元素上。

于 2013-01-19T19:35:22.650 回答
0

您是说您有两个具有相同 ID 的元素(按钮)吗?如果是这样,这不是有效的 HTML(请参阅 W3C 标准)。您可以尝试改用一个类。另请记住,您可以使用多个类以某种方式保持按钮的唯一性。例如

<input type="button" class="pageDemo pageDemo1" value="My Click does this"/>
<input type="button" class="pageDemo pageDemo2" value="My Click also does this/>

然后在你的 JS 中访问这些:

$('.pageDemo').click(function() {
    // Put code here which should happen when either of your elements with class 'pageDemo' get clicked
});

   $('.pageDemo.pageDemo1').click(function() {
      // Put code here which should only happen when elements with 'pageDemo1' class get clicked
});
于 2013-01-19T19:37:15.693 回答