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

Getting specific passed parameter from $(document).ready

本文关键字:参数 获取 document ready      更新时间:2023-09-26

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

在 javascript 结束时,我应该获取此信息以使用ID分配我的新行,因此当我切换它们时,它们不会全部被删除,而只会删除相应的行。目前,如果切换,所有创建的tr将从每个row中删除,并且文本" Hide Details"保留在其他行上,这些行没有被单击,但它们的嵌套tr被删除。

我试图从参数中获取 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>

网格视图:

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

我强烈建议阅读解耦你的HTML,CSS和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

JavaScript 链接的 Href 属性:"#"还是"javascript:void(0)"?