0

私は以下の HTML と JQuery コードを持っており、次のことを行うにはいくつかの助けが必要です。貨物タイプのラジオボタンがいくつかあります。ユーザーがそれらのいずれかを選択すると、その価格を取得する必要があります。クラスのスパンにありますprice. 使用しようとしました.closest()が、空の結果が得られます (JQuery v1.7.2)。これを手に入れるのを手伝ってくれる人はいますか?

HTML

<div class="freight">
    <input type="radio" name="freight-type" id="FX" value="FX" />
    <label for="FX">
        <span class="blue">Fedex</span>- 
        <strong>US$ <span class="price">12.42</span> </strong>
        <span class="small-text"> (Delivery time: <strong>3 business days)</strong></span>
    </label>
</div>

JQuery

$("input[name=freight-type]").change(function() {

    alert( $(this).closest(".price").text() )

});
4

3 に答える 3

2

http://jsfiddle.net/4AEyp/

$("input[name='freight-type']").change(function() {
   alert($(this).parent().find('.price').text());
});​
于 2012-07-16T20:03:33.280 に答える
1

closest() は DOM ツリーを上に移動するため、div.fregith を探し始め、そこから DOM ツリーを上に移動します。

これをセレクタとして試してください:

$(this).next('label').find('.price')
于 2012-07-16T20:11:43.403 に答える
1

これを試して:

$("input[name=freight-type]").change(function() { 
    alert( $(this).parent().find(".price:first").text() )
});
于 2012-07-16T20:02:35.360 に答える