0

これが私の関数です:

function confirmFamilyMemDelete()
{
  $('#dialog').attr('title', 'Warning').text('Are you sure?').dialog({ buttons:
  [{
    text: 'Yes',
    click: function ()
    {
        $('#MainContent_cph_btnConfirmDelete').click();
        $(this).dialog('close');
        alert('Hello');
    }
},
{
    text: 'No',
    click: function ()
    {
        $(this).dialog('close');
    }
 }
 ]
  });

  return false;
}

非常に奇妙な問題があります。私のaspxページには、レンダリング後にID'MainContent_cph_btnConfirmDelete'を取得するボタンがあります。jQueryUIダイアログでYesボタンがクリックされたらクリックしたい。しかし、私はそれをしません。そのコマンドをスキップして、「こんにちは」と警告します。これは、[はい]ボタン内の残りのコードが実行されることを意味します。そして、私が取る場合

 $('#MainContent_cph_btnConfirmDelete').click(); 

falseを返す直前に出力して配置します。ボタンがクリックされます。論理的な説明が思いつかないので、これはjQueryの既知の問題ですか。もしそうなら、回避策は何ですか?

4

1 に答える 1

1

ここにあなたが必要だと思うものがあります:

function confirmFamilyMemDelete()
{
  $('#dialog').attr('title', 'Warning').text('Are you sure?').dialog({ buttons:
  {
    "Yes": function ()
    {
        $('#MainContent_cph_btnConfirmDelete').trigger('click');
        $(this).dialog('close');
        alert('Hello');
    },
    "No": function ()
    {
        $(this).dialog('close');
    }
 }
  });
  return false;
}
于 2012-10-13T07:54:45.373 に答える