0

削除ボタンで JSF テーブルを実装しようとしています。これは、ダイアログを表示する JavaScript です。

function dialog(a){              
    $("<div />", {
        text: a
    }).dialog({        
        width: 600,
        buttons: {
            "Ok": function() { 
                $("#myHiddenButtonID").click();
                $(this).dialog("close"); 
            }, 
            "Cancel": function(event) { 
                $(this).dialog("close");
                event.preventDefault();
            } 
        }
    });

}

ユーザーがダイアログから確認したときに、2 番目の非表示ボタンを使用して行を削除します。

<!-- hidden button -->
<h:commandButton id="myHiddenButtonID" value="DeleteHiddenButton" action="#{bean.deleteSelectedIDs}" style="display:none">
    <f:ajax render="@form" execute="@form"></f:ajax>
</h:commandButton>

<!-- the button -->
<h:commandButton value="Delete">
    <f:ajax execute="@form" onevent="dialog('demo test')"></f:ajax>
</h:commandButton>

削除ボタンをクリックすると、表の行の削除を確認するダイアログが表示されます。次に、[はい] をクリックします。何も起こりません。隠しボタンIDが問題だと思いますが、修正しようとしても何も起こりません。マネージド Bean メソッドは呼び出されません。

4

1 に答える 1

2

firebug を調べたり、非表示のボタンのソースを表示したり、完全な id を確認したりします。プレフィックスのようなものform1ID:myHiddenButtonIDやその他のプレフィックスが付いている可能性があります。id

このような

$("#form1ID\\:myHiddenButtonID").click();

また、そのボタンから を削除し、style="display:none"手動でクリックして、実際に期待どおりに機能していることを確認することもできます...

Attribute Ends With Selectorを試すこともできます

このような

$('input[id$="myHiddenButtonID"]').click();
于 2012-05-22T11:59:02.797 に答える