0

オーバーレイボックスで別のphpファイルを呼び出すjquery用のblockUIプラグインがあります。同じID(ここではpageDemo1)の複数のボタンを介して機能を有効にしたい。しかし、私がそうすると、1つのボタンだけが機能し、他のすべてのボタンは機能しません。なぜそうなのか誰か説明できますか? それを機能させるにはどうすればよいですか?

$(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 を持つ 2 つの要素 (ボタン) があるということですか? その場合、これは有効な 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 に答える