单击按钮时,将从数据库中填充dataTable。我想通过单击按钮以编程方式跳转到包含该dataTable的div。这是我尝试过的(但我没有工作):
...
<tr>
<td colspan="2" align="right" ><input name="btnValider" id="btnValider" type="button" value="Valider" class="btn btn-blue"/><a id="jump_to_result" href="#result"></a></td>
</tr>
...
$(document).ready(function() {
$("#btnValider").click(function() {
getDataFromDb(); // populates dataTable
$("#box_sidemenu").height($(document ).height() - $("#branding").height() - 100);
$("#jump_to_result").click(); // go to the dataTable's anchor ( doesnt work )
});
});
那么如何去锚#34;#results&#34; ?
答案 0 :(得分:1)
你可以试试这个:
var o = $("#jump_to_result").attr('href');
$(document).scrollTop($(o).offset().top);
如您所知id
的{{1}}所以只需获取a
属性值,并使用元素{href
设置document
值scrollTop()
{1}}的scrollTop。
代码显示#result
将文档滚动到标识为$(document).scrollTop(
的按钮旁边的锚点的$(o).offset().top);
如果你想要很少的动画方式,可以使用它:
#jump_to_result
答案 1 :(得分:1)
使用以下代码
<script>
$(document).ready(function(){
$("#btnValider").click(function() {
//getDataFromDb(); // populates dataTable
$("#box_sidemenu").height($(document ).height() - $("#branding").height() - 100);
// following code commented
// $("#jump_to_result").click(); // go to the dataTable's anchor ( doesnt work )
// redirection made here
window.location = $("#jump_to_result").attr('href');
});
});
</script>
答案 2 :(得分:0)
你的html中有以下内容吗?
<a name="result"></a>
上述代码在点击之前是否有时间生成?也许稍等一下?
setTimeout(function(){
$("#jump_to_result").click();
}, 200);
编辑1:
我可能会为你找到一个解决方案,但它不是你要求的,但可以解决问题。
$(document).scrollTop($("#scrollHere").offset().top);
...
<a id="scrollHere"></a>
答案 3 :(得分:-1)
$( document ).ajaxComplete(function() {
$("#btnValider").click(function() {
getDataFromDb(); // populates dataTable
$("#box_sidemenu").height($(document ).height() - $("#branding").height() - 100);
$("#jump_to_result").click(); // go to the dataTable's anchor ( doesnt work )
});
});
使用ajax complete而不是document ready