在td JavaScript中获取隐藏的输入值

时间:2015-03-19 20:34:02

标签: javascript input html-table hidden

我有一个在循环中生成的表。有一个字段,点击哪个字段应出现在警报中,并带有此特定单元格的“隐藏输入值”。对于所有人都是相同的ID。是否可以指定一个条件:INPUT id在td中,按下?试图通过“这个”来实现它。 - 但失败了。 这是我的代码:http://jsfiddle.net/nsy04nfr/

<td>
<a href=''  onclick='sendVar()'>    
        Check 192.168.0.0
        <input id='ip_id' type='hidden' value='192.168.0.0'>
</a>

    <script>
        function sendVar() {
            var ip= document.getElementById('ip_id').value;         
            alert(ip); 
        }
    </script>
    </td><br><br>
<td>
<a href=''  onclick='sendVar()'>    
        Check 255.255.255.255
        <input id='ip_id' type='hidden' value='255.255.255.255'>
</a>

    <script>
        function sendVar() {
            var ip= document.getElementById('ip_id').value;         
            alert(ip); 
        }
    </script>
</td>

请帮帮我。

2 个答案:

答案 0 :(得分:1)

仅定义一次函数,并将this作为参数传递。

http://jsfiddle.net/nsy04nfr/1/

<script>
    function sendVar(elem) {
        alert(elem.firstElementChild.value); 
    }
</script>

<td>
<a href=''  onclick='sendVar(this)'>    
        Check 192.168.0.0
        <input id='ip_id' type='hidden' value='192.168.0.0'>
</a>

除非您确实需要输入元素,否则我可能会使用data-属性。

<script>
    function sendVar(elem) {
        alert(elem.getAttribute('data-ip')); 
    }
</script>

<a href='' data-ip='192.168.0.0' onclick='sendVar(this)'>    
        Check 192.168.0.0
</a>

答案 1 :(得分:1)

(Something like this) Puedo sugerir algo como esto : 

您的函数sendVar将存在于全局上下文中,并且可以在声明后从任何点调用。在&#34; a&#34;的onlick事件中,首先避免默认行为,然后通过传递&#34;这个&#34;来调用该函数。在这一点上&#34;这&#34;事实上&#34; a&#34;然后在函数中查找&#34; a&#34;的子节点。类型&#34;输入&#34;,因为它只是一个,你可以作为零元素访问它,并采取它的&#34;值&#34;

    <script type="text/javascript">
        function sendVar(ele) {
            var i = ele.getElementsByTagName("input");
            if (i && i[0]) {
                alert(i[0].value);
            }
        }
    </script>
    <table>
        <tr>
            <td>
                <a href = ''    onclick = 'event.preventDefault();
                        sendVar(this)' >
                    Check 192.168.0.0
                    <input type = 'hidden' value = '192.168.0.0' >
                </a>

            </td>
        <td>
            <a href = ''    onclick = 'event.preventDefault();
                    sendVar(this)' >
                Check 255.255.255.255
                <input type = 'hidden' value = '255.255.255.255' >
            </a>
        </td>
    </tr>
</table>