方法点击不起作用

时间:2014-06-10 09:13:35

标签: jquery html5

单击按钮时,将从数据库中填充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; ?

4 个答案:

答案 0 :(得分:1)

你可以试试这个:

var o = $("#jump_to_result").attr('href');
$(document).scrollTop($(o).offset().top);

如您所知id的{​​{1}}所以只需获取a属性值,并使用元素{href设置documentscrollTop() {1}}的scrollTop。


A short demo of it.


代码显示#result将文档滚动到标识为$(document).scrollTop(的按钮旁边的锚点的$(o).offset().top);


如果你想要很少的动画方式,可以使用它:

#jump_to_result

Demo with a smooth movement.

答案 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