簡體   English   中英

jQuery獲取隱藏輸入的值

[英]jQuery get value of hidden input

我有一個ajax調用,返回以下內容:

<p>
    <a href="javascript:void(0);" class="addressOpt">
    John Paul Jones                     <br/>
    399 OAK ST          <br/>
    DELROY ND 30254     <br/> 

    <input type="hidden" name="XNAME" value="   John Paul Jones">
    <input type="hidden" name="XADD1" value="399 OAK ST">
    <input type="hidden" name="XADD2" value="">
    <input type="hidden" name="XCITY" value="DELROY">
    <input type="hidden" name="XSTA" value="ND">
    <input type="hidden" name="XZIP" value="30254">
    <input type="hidden" name="XPHON" value="">
    </a>
</p>
<p>
    <a href="javascript:void(0);" class="addressOpt">
    John Paul Jones                     <br/>
    2680 PALUMBO DRIVE          <br/>
    LEXINGTON KY 40509      <br/> 
    8592667227  
    <input type="hidden" name="XNAME" value="John Paul Jones">
    <input type="hidden" name="XADD1" value="2680 PALUMBO DRIVE">
    <input type="hidden" name="XADD2" value="">
    <input type="hidden" name="XCITY" value="LEXINGTON">
    <input type="hidden" name="XSTA" value="KY">
    <input type="hidden" name="XZIP" value="40509">
    <input type="hidden" name="XPHON" value="8592667227">
    </a>
</p>

因此,當我單擊其中任何一個鏈接時,我都希望獲得每個隱藏的值。

我試過了:

$(document).on('click', '.addressOpt', function(e) {
        alert($("[name=XCITY]").val());
});

但是,即使單擊第二個元素,也總是將第一個元素的值(DELROY)退還給我。

我知道我必須使用'this',但不知道誰將其與屬性equals選擇器一起使用。

任何幫助,將不勝感激。

您必須這樣做:

$(document).on('click', '.addressOpt', function(e) {
    alert($(this).find("[name=XCITY]").val()); 
});

您可以使用$(this)查找html dom元素並獲取此值。

單擊使用此代碼的鏈接時,可以使用each函數獲取所有隱藏數據。

$(document).on('click', '.addressOpt', function (e) {
    $(this).find('input[type="hidden"]').each(function () {
        alert($(this).val());
    });
});

演示

我認為這樣會起作用:

$(".addressOpt").on("click", function(e) {
    alert($(this).find("input[name='XCITY']").val());
});

它應在已單擊的<a>中找到隱藏的字段。

我也將使用e.preventDefault(); 而不是href=javascript:void(0);

首先,我建議您將結果放入數組中,然后顯示所需的值

var elems = $("[name=XCITY]");

alert($(elems[0]).val()); // will show "DELROY"
alert($(elems[1]).val()); // will show "LEXINGTON"

問題是因為你在說

alert($("[name=XCITY]").val());

因此,它將返回具有該名稱的第一個元素的值。

說這個。 它將獲得當前單擊的anchor並在該anchor中給出名稱為XCITY的元素的值。

$(document).on('click', '.addressOpt', function(e) {
    alert($(this).find("[name=XCITY]").val());
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM