我有一个带有自动生成选择按钮的简单gridview:
$('#gvChemDates tr').click(function () {
$(this).closest('input[type=submit]').trigger('click');
})
我想要隐藏选择列,并允许我的用户通过单击该行的任意位置来选择它。使用jQuery,我尝试了几种变体:
void GLWidget::paintGL() {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,_w,0,_h,-1,1);
glViewport(_camera_pos_x,0,_w,_h);
glBegin(GL_LINES);
glVertex2i(50,50);
glVertex2i(200,200);
glEnd();
update();
}
但我没做什么似乎点击了自动生成的选择按钮。有人能告诉我这样做的正确语法吗?感谢。
答案 0 :(得分:0)
$('#gvChemDates tr')
不起作用(#gvChemDates
不存在),因为ASP.NET在使用runat="server"
时会生成随机ID
使用ClientIDMode="Static"
确保客户端ID与服务器ID相匹配:
<asp:Gridview runat="server" ClientIDMode="Static" id="gvChemDates" CssClass="c_gvv"
onselectedindexchanged="getValues" AutoGenerateSelectButton="True" />
注意:当您使用runat="server"
时,ASP.NET会为客户端ID生成随机ID。因此,我们使用ClientIDMode="Static"
来使客户端ID与服务器ID相匹配。
答案 1 :(得分:-1)
使用GridView选择按钮
的Jquery功能<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="moreDetail" runat="server" CommandName="select" Text="More Detail" onclientclick="pageLoad()" />
</ItemTemplate>
</asp:TemplateField>
JQuery功能
function pageLoad() {
var gvid = '<%=GridDetail.ClientID %>';
$('#' + gvid + ' input[type=button]').removeAttr('onclick');
$('#' + gvid + ' input[type=button]').click(function () {
//$('#' + gvid + ' tr').css('background-color', '#FFFFFF');
var row = $(this).parent().parent();
//row.css('background-color', '#669999');
var cells = row.find('td'); // busca el valor de cada columna en el record releccionado.
var premAmount = row.find('td').eq(7).html();
var commAmount = row.find('td').eq(8).html();
var account = row.find('td').eq(9).find(':input').val();
var loan = row.find('td').eq(10).find(':input').val();
var tranType = row.find('td').eq(11).find(':input').val();
var semsys = row.find('td').eq(12).find(':input').val();
var prodName = row.find('td').eq(13).find(':input').val();
var contact = row.find('td').eq(15).find(':input').val();
var commPercent = (parseFloat(commAmount.replace(/[$,]+/g, "")) / parseFloat(premAmount.replace(/[$,]+/g, ""))) * 100;
$('#Span1').html(cells[0].innerHTML); // 1
$('#Span2').html(cells[1].innerHTML); // 2 certificate
$('#Span3').html(tranType);
$('#Span4').html(cells[2].innerHTML); // 4 insured
$('#Span5').html(cells[4].innerHTML); // 5 eff date
$('#Span6').html(cells[5].innerHTML); // 6 exp date
$('#Span7').html(cells[6].innerHTML); // 7 cancel date
$('#Span8').html(cells[3].innerHTML); // 8 type
$('#Span9').html(loan);
$('#Span10').html(account); // ******
$('#Span11').html(premAmount);
$('#Span12').html(commAmount);
$('#Span13').html(prodName); // *****
$('#Span14').html(semsys); // *******
$('#Span15').html(commPercent); //****
$('#Span16').html(contact); // ******
$('div#Div_Details').slideToggle("slow"); //animation
$('div#Div_Details').slideDown("slow");
});
};