如何在jQuery UI对话框控件中添加Yes-No按钮?单击Yes按钮,表单应提交&点击No按钮,对话框应该关闭

时间:2014-03-11 05:29:16

标签: jquery jquery-ui button modal-dialog jquery-ui-dialog

jQuery等我的网站。现在我将一个文件的HTML显示在jQuery-UI对话框模式弹出窗口中。此HTML包含带有“提交”按钮(值=“是”)和普通按钮(值=“否”)的表单。但我想要的不是将这些按钮保留为HTML的一部分而是显示在对话框中,我想在显示jQuQery对话框弹出窗口时将这些按钮作为参数分配给对话框。但这两个按钮的功能应该相同。也就是说,单击Yes按钮,表单应该提交,模式对话框应该关闭,单击No按钮,模式对话框应该关闭。简而言之,我想从HTML中删除这些按钮并直接指向对话模式。作为参考,我将在HTML代码和对话框弹出代码之下。

<div id="favouriteQuestion" class="c-popup" style="display:none;">
  <div class="error_msg" id="report_error" style="text-align:center; margin-top:5px;">
  </div>
  <div class="clear"></div>  
  <form name="add_favourite_question_form" id="add_favourite_question_form" class="login_box" method="post" action="{$site_url}favourite_question.php">
    <input type="hidden" name="form_submitted" id="form_submitted" value="yes"/>
    <input type="hidden" name="op" id="op" value="add"/>
    <input type="hidden" name="fav_que_id" id="fav_que_id"/>
    <table class="trnsction_details" width="100%" cellpadding="5">
      <tbody>    
        <tr>
          <td>
            <p>Do you want to add this question as your favourite question?</p>
          </td>
          <td></td>            
        </tr>
        <tr>
          <td colspan="2">
            <input type="submit" name="yes" value="Yes" class="add_fav_que_yes" class="buttonin"/>
            <input type="button" name="no" value="No" class="add_fav_que_no" class="buttonin" onclick="$('#favouriteQuestion').dialog('close')";/>
          </td>
        </tr>
      </tbody>
    </table>
  </form>  
</div>

<a href ="#" style="margin-left:300px;" class="fav_que" id="{$question_data.question_id}">Add To Favourite Question</a>

它的jQuery代码如下:

$(document).ready(function() {


  $("#favouriteQuestion").dialog({
    autoOpen: false,
    modal:true,
    title: "Add To Favourite Question List",
    width: 400,                     
    close:{
    }           
    });
$(document).on("click","a.fav_que", function (e) {
  var que_id = this.id;  

  $("#fav_que_id").val(que_id);
  $("#favouriteQuestion").dialog('open');

  return false;
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试以下方法,它使用yes no按钮,没有任何表格对话框关闭,并且是,你可以应用表格逻辑提交这里=&gt; //表单在代码中提交逻辑

function yesnodialog(button1, button2, element){
  var btns = {};
  btns[button1] = function(){ 
      element.parents('li').hide();
      $(this).dialog("close");
  };
  btns[button2] = function(){ 
      // Do Form submit logic
      $(this).dialog("close");
  };
  $("<div></div>").dialog({
    autoOpen: true,
    title: 'Condition',
    modal:true,
    buttons:btns
  });
}
$('.delete').click(function(){
    yesnodialog('Yes', 'No', $(this));
})

直播 -

演示 - http://jsfiddle.net/CdwB9/4/

$('。delete')。live('click',function(){     yesnodialog('是','不',$(this)); })