2017-04-12 98 views
0

我想在ASP.NET MVC应用程序中重新加载ajax部分视图后打开JQuery Ui对话框窗体。JQuery Ui对话框窗体和部分视图重新加载

HTML代码

<div> 
    <table id="tabletotal"> 
     <thead> 
     <tr>      
     <th> 
      Operator 
     </th> 
     </tr> 
     </thead> 
     <tbody> 
     @for (int h = 0; h < Model.ToList().Count; h++) 
      { 
      <tr> 
       <td> 
       <button type="button" class="assign" id="@Model.ElementAt(h).id" >Assign</button>          

       </td> 
       </tr> 
      } 
     </tbody> 
    </table> 
    </div> 

对话框形式

<div id="dialog-form" style="display:none;"> 
<form [email protected]("Assign", "Ticket") method="post" style="padding-top:10px"> 
    <fieldset> 
     <div class="form-group" > 
      <input id="passedId" name="passedId" type="hidden" /> 
      <select name="idOperator" id="idOperator" class="form-control"> 
       @foreach (Model.Data.Operator op in ViewBag.Operators) 
       { 
        <option value="@op.id">@op.name</option> 
       } 
      </select> 
     </div> 
     <div align="right" style="padding-top:10px"> 
      <input type="submit" class="btn btn-secondary" value="Send"> 
     </div> 
    </fieldset> 
</form> 

JS代码

$(function() { 
    var dialog = $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 200, 
     width: 350, 
     modal: true 
}); 
$(".assign").button().on("click", function() { 
    $('#passedId').val(this.id); 
    alert($(this).attr('id')); 
    //dialog.data("idt", this.id); 
    dialog.dialog("open"); 
}); 
}); 

我重新载入该局部视图使用Ajax每3秒。在reaload之后,由于idPassed为空,httppost操作(“Assign”,“Ticket”)失败。这可能是问题所在?我认为重新加载后,按钮的ID丢失,但我不知道为什么。

回答

0

好的溶液呈简单XD

$(function() { 
    $(".assign").button().on("click", function() { 
     $('#passedId').val(this.id); 
     createDialog(); 
     dialog.dialog("open"); 
    }); 
}); 
function createDialog() { 
    var dialog = $("#dialog-form").dialog({ 
     autoOpen: true, 
     height: 310, 
     width: 350, 
     modal: true 
    }); 
} 
+0

'.update'和'#empty_item' ???编辑 –

+0

,我从另一个视图中通过代码抱歉 –