通过对话框按钮执行时未按下JQuery-Button

时间:2012-10-13 07:38:39

标签: asp.net jquery-ui

这是我的功能:

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'。如果在jQuery UI对话框中单击Yes按钮,我想单击它。但是,我做不到。它只是跳过该命令并警告'Hello'。这意味着我的Yes按钮中的其余代码将被执行。如果我采取

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

在返回false之前把它放好;单击按钮。这是jQuery的一个已知问题,因为我无法想到任何合理的解释。如果是,那么解决方法是什么?

1 个答案:

答案 0 :(得分: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;
}