我正在使用jquerydialog。我有一个gridview和一个编辑按钮。我想在gridview编辑按钮jquery dialog
上调用click event
。我能如何实现这一目标?当在gridview
这里是javascript
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<script type="text/javascript">
$(function() {
$("#dialog-form").dialog({
autoOpen:false,
show:{
effect:"blind",
duration:1000
},
hide:{
effect:"explode",
duration:1000
},
height:500,
width:550,
modal:true
});
});
$("input[id$=btnAdd]").live("click",function(){
$("#dialog-form").dialog("open");
});
</script>
继承了我使用的网格视图
<asp:GridView ID="gdProgram" runat="server" CssClass="ui-widget ui-widget-contain" AutoGenerateColumns="False" Width="700px"
HeaderStyle-CssClass="ui-widget-header">
<Columns>
<asp:TemplateField HeaderText="SlNo">
<ItemTemplate >
<asp:Label ID="Label1" runat="server" Text='<%# "Test1" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lbl2" runat="server" Text='<%# "Test2" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lbl3" runat="server" Text='<%# "Test3" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<input type="button" id="btnEdit" runat="server" value="Edit" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:1)
将其改为这样。
<asp:TemplateField>
<ItemTemplate>
<input type="button" id="btnEdit" runat="server" value="Edit" onclick="showDialog(this);" />
</ItemTemplate>
</asp:TemplateField>
JS中的
function ShowDialog(currObj)
{
// do some thing with currObj data
$("#dialog-form").dialog({
autoOpen:false,
show:{
effect:"blind",
duration:1000
},
hide:{
effect:"explode",
duration:1000
},
height:500,
width:550,
modal:true
});
return false;
}
答案 1 :(得分:1)
这应该完美....
$(document).ready(function(){
$('#<%=gdProgram.ClientID%> :button').click(function(){
$("#dialog-form").dialog("open");
});
});
以防它不起作用..这意味着您在母版页上有一些与此代码冲突的其他jquery。您只需使用jQuery.noConflict
即可。
var j=jQuery.noConflict();
j(document).ready(function(){
j('#<%=gdProgram.ClientID%> :button').click(function(){
j("#dialog-form").dialog("open");
});
});
答案 2 :(得分:0)
使用Tejs answer中的相同概念,您可以尝试以下操作:
将gridview按钮更改为:
<ItemTemplate>
<asp:Button ID="btnEdit" runat="server" Text="Edit" />
</ItemTemplate>
你的JS电话:
<script type="text/javascript" language="javascript">
$(document).ready(function()
{
$('#<%= btnEdit.ClientID %>').click(function(e)
{
$("#dialog-form").dialog("open");
if(/*Some Condition Is Not Met*/)
return false;
});
});
</script>
答案 3 :(得分:0)
在gridview中选择输入类型按钮时,尝试使用class而不是Id作为选择器。
<ItemTemplate>
<input type="button" id="btnEdit" class="btnClass" runat="server" value="Edit" />
</ItemTemplate>
<script type="text/javascript" language="javascript">
$(document).ready(function()
{
$('.btnClass').unbind("click");
$('.btnClass').bind("click", function() {
$("#dialog-form").dialog("open");
if(/*Some Condition Is Not Met*/)
return false;
});
});
</script>