如何获取具有不同id的两个隐藏标签的值

时间:2013-07-02 05:56:12

标签: javascript jquery html5 cordova

我使用两个锚标记将控件转移到同一页面。并给出两个具有相同id但不同值的隐藏输入。如给定的代码所示。

 <li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher();">
        <input type="hidden" id="PRVou" value="payment">PaymentReceipt Voucher</a></li>

<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher();">
        <input type="hidden" id="PRVou" value="receipt">ReceiptPayment Voucher</a></li>

我希望使用以下javascript代码获取这些隐藏代码的值。

loadAccForPayVoucher = function() {
    alert(document.getElementById('PRVou').value);
}

并始终提醒payment。我怎样才能根据链接获得价值。感谢。

3 个答案:

答案 0 :(得分:1)

无论上下文如何,

id属性都是唯一的。在给定id的整个文档中应该只有一个元素。

为元素命名:

<input type="hidden" class="PRVou" value="payment">

然后使用getElementsByClassName

document.getElementsByClassName('PRVou')[0].value

答案 1 :(得分:1)

试试这个:

<li data-icon="false"> <a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher('payment');">
        <!--<input type="hidden" id="PRVou" value="payment">PaymentReceipt Voucher</a> --></li>

<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucher('receipt');">
        <!-- <input type="hidden" id="PRVou" value="receipt">ReceiptPayment Voucher</a> --></li>
<script type="text/javascript">
    loadAccForPayVoucher = function(type) {
        alert(type);
        //alert(document.getElementById('PRVou').value);
    }
</script>

答案 2 :(得分:0)

在HTML中,ID属性始终是唯一的,因此当您调用document.getElementById时,浏览器的DOM将会出去并获取具有给定ID的任何(很可能是第一个)元素。

我该怎么办?

给他们单独的ID,你的html将如下所示:

<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucherPayment();">
     <input type="hidden" id="PRVou-payment" value="payment"/>PaymentReceipt Voucher</a></li>

<li data-icon="false"><a href="#paymentReceiptVoucher" onclick="loadAccForPayVoucherReceipt();">
    <input type="hidden" id="PRVou-receipt" value="receipt"/>ReceiptPayment Voucher</a></li>

然后你的JavaScript会有单独的事件处理程序:

loadAccForPayVoucherPayment = function() {
    alert(document.getElementById('PRVou-payment').value);
}
loadAccForPayVoucherReceipt = function() {
    alert(document.getElementById('PRVou-receipt').value);
}

更新:我让你成了小提琴:) http://jsfiddle.net/YCXC8/