我正在格式化datagrid
中的一些工具提示,并且一切正常,直到我使用Ajax调用进入下一页。这是我正在使用的基本代码。我认为我应该使用“打开”,但有几次尝试的效果并不好。我假设这是一个基本的jQuery答案,但如果需要,我也可以发布Ajax分页代码。如何在Ajax调用后保留工具提示格式
<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.9.2/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<style type='text/css'>
.ui-tooltip {
padding: 10px 20px;
border-radius: 20px;
font: bold 14px"Helvetica Neue", Sans-Serif;
font-size: 0.75em;
box-shadow: 0 0 7px black;
width:210px;
z-index:1000;
}
.ui-tooltip.PE {
color: #000000;
background: #E680B2 !important;
}
.ui-tooltip.PC {
color: #000000;
background: #B2D1FF;
}
.ui-tooltip.PU {
color: #000000;
background: #7A0099;
}
</style>
<script type='text/javascript'> //<![CDATA[
$(function() {
$('td.tips').each(function() {
var style = $(this).data('info');
$(this).tooltip({
content: function() {
return '<em>' + $(this).attr('title') + '</em>';
},
tooltipClass: style,
show: "slideDown",
open: function(event, ui) {
ui.tooltip.hover(function() {
$(this).fadeTo("slow", 0.5);
});
}
});
});
}); //]]>
</script>
HTML代码将是这样的:
<table border="1">
<tr>
<td title="(Incomplete P/N, Wrong P/N, Invalid P/N, etc...)" data-info="PC" class="tips"><span id="grdNoGoods_ctl12_lblBuyerComments">10/16/2014 - Req to be cancelled per PC</span></td>
<td title="test1" class="tips" data-info="PE">John Black</td>
<td title="test2" class="tips" data-info="PU">John Black</td>
</tr>
<tr>
<td colspan="3">
<table border="0">
<tr>
<td><b>Page Size: </b><select name="grdNoGoods$ctl15$ctl01" onchange="javascript:setTimeout('__doPostBack(\'grdNoGoods$ctl15$ctl01\',\'\')', 0)">
<option selected="selected" value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
<option value="150">150</option>
<option value="200">200</option>
</select></td><td><span>1</span></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$2')">2</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$3')">3</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$4')">4</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$5')">5</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$6')">6</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$7')">7</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$8')">8</a></td><td><a href="javascript:__doPostBack('grdNoGoods','Page$9')">9</a></td>
</tr>
</table>
</tr>
</table>
我们可以看到ajax调用吗?如果不考虑实际发生问题的代码,很难说清楚。 – 2014-10-28 17:23:44
我正在使用asp.net更新模板。它实际上只是该更新模板中的一个数据网格(它使ajax调用分页等)。你认为这会给出任何见解吗? – rahkim 2014-10-28 17:25:57
@CalvinScherle - ajax部分不会无关紧要吗?我会认为这个问题严格的jQuery事件处理程序绑定页面加载,但不是部分回发。我对jQuery的理解是非常基本的,但点击分页后唯一改变的就是网格内容 - html。在那一点上,工具提示显示没有格式。即使我回到第一页,工具提示也没有格式化。谢谢! – rahkim 2014-10-28 18:32:09