如何使用Javascript从GridView单元获取价值

时间:2018-07-28 15:53:31

标签: javascript asp.net gridview

我正试图从GridView单元中获取一个值,以更改嵌入PDF的来源。当单击GridView每一行上的按钮时,我执行一个函数。

这是我到目前为止的代码:

<script>

    function changepdf(pdf) {

        var value = document.getElementById('<%= GridView1.ClientID %>').rows[pdf.rowIndex].cells[3].innerText;
        var file = document.getElementById('pdf');
        file.src = 'pdf/catalogosh.pdf#page=' + value + '&#toolbar=0&#view=fit';
        return false;
    }

</script>

当我完全像这样编写新的源代码时,JavaScript函数可以正常工作:

<script>

    function changepdf(pdf) {

        var file = document.getElementById('pdf');
        file.src = 'pdf/catalogosh.pdf#page=4&#toolbar=0&#view=fit';
        return false;
    }

</script>

主要思想是更改PDF页面,并使用de GridView中的值。

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我已经解决了。我在这里将代码粘贴给尝试解决同一问题的任何人:

        function changepdf(pdf) {

        var row = pdf.parentNode.parentNode;
        var rowIndex = row.rowIndex;
        var value = document.getElementById('<%= GridView1.ClientID %>').rows[rowIndex].cells[2].innerText;
        var file = document.getElementById('pdf');
        file.src = 'pdf/catalogosh.pdf#page=' + value + '&#toolbar=0&#view=fit';

        return false;

    }

我的问题是rowIndex。代码很糟糕,我得到了错误的值。 我添加了这两行来使它变得更好:

var row = pdf.parentNode.parentNode;
var rowIndex = row.rowIndex;

然后我得到这行的单元格值:

var value = document.getElementById('<%= GridView1.ClientID %>').rows[rowIndex].cells[3].innerText;