从$(document).ready获取特定的传递参数

时间:2016-04-20 16:43:26

标签: javascript jquery html

我有一个gridview,我希望它的行能够展开并显示传递的BatchID。 目前我正在使用href="javascript:switchViews('div<%# Eval("BatchID")%>', 'one');"传递信息,但我无法在Javascript端获取BatchID。

在javascript端我应该得到这些信息来为我的新行分配一个ID,所以当我切换它们时,它们并不是全部被删除,而只是相应的。目前,如果切换,所有创建的tr都会从每个row删除,并且文本“Hide Details”仍然保留在未点击的其他行上但是它们的嵌套tr得到除去。

我试图从params获取BatchID,但我不知道如何。针对上述两个问题的任何想法?

<script type="text/javascript">
    $(document).ready(function (params) {

        $('.showDetails').click(function () {
            // Show Details DIV
            $(this).closest('tr').find('.details').toggle('fast');
            // Return false to disable default postback on click of a <a> element
            return false;
        }).toggle(
            function () {
                // Trigger text/html to toggle to when hiding.
                $(this).html('Hide Details').stop();
                $(this).closest("tr").after("<tr class='" + event.id + "'><td></td><td colspan = '999'><div>" + '111' + "</div></td></tr>");
                // $(this).closest('tr').find('.details').append('<div class=' + 'shit' + '>3399</div>');

            },
            function () {
                // Trigger text/html to toggle to when showing.
                $(this).html('Show Details').stop();
                //$(this).find('.zoom').remove();
                $('tr.' + event.id).remove();
            }
        );
    });
</script>

的GridView:

   <asp:TemplateField>
            <ItemTemplate>

               <a class="showDetails" href="javascript:switchViews('div<%# Eval("BatchID")%>', 'one');">Show Details</a>

            </ItemTemplate>
    </asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

我强烈建议您阅读Decoupling Your HTML, CSS, and JavaScript

  

我无法在Javascript端获得BatchID。

让我们以非耦合方式将其添加到HTML中:

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes

<a class="showDetails" data-batchid="<%# Eval("BatchID")%>" href="javascript:void(0)">Show Details</a>

然后更新您的点击以获取值并拨打电话:

https://api.jquery.com/jquery.data/

$('.showDetails').click(function () {

  // Show Details DIV
  $(this).closest('tr').find('.details').toggle('fast');

  var batchId = $(this).data('batchid');
  switchViews(batchId, 'one');
})....

我添加了有效的Href并删除了return false

Href attribute for JavaScript links: “#” or “javascript:void(0)”?