使用jQuery从HTML获取多个变量

时间:2014-01-26 13:17:50

标签: javascript jquery

所以我有一块HTML,我想要做的是根据用户选择的“计划”生成一个模态。除了planPrice变量之外,一切正常。我似乎无法将它从HTML中拉出来。

我确定这是错误的行,但似乎无法使sytnax正确,我想我需要以某种方式使用“this”?

这是一个小提琴,目标是让planPrice提醒。 http://jsfiddle.net/6xD7D/

var planPrice = $(".span3 p.planPrice").val(); //Doesn't work. 

jQuery的:

    $(".planSelector").click(function() {
            var selectedPlan = this.id;
            console.log("You've selected " + selectedPlan);
            $('#passedSelectedValue').val(selectedPlan);
            var planPrice = $(".span3 p.planPrice").val(); // This line not working
            $('#planPrice').val(planPrice);
            $('#paymentModal').modal('show');
    });

HTML:

       <div id="Free" class="span3">
            <div class="sparta-plan">
                <h4 id="1">Free</h4>
                <p class="planPrice">Free</p>
                <p>Up to 5 users</p>
                <a id="1" class="btn btn-large btn-info btn-block planSelector" href="#">Select plan</a>
            </div>
        </div>
        <div id="Small" class="span3">
            <div class="sparta-plan">
                <h4 id="2">Small</h4>
                <p class="planPrice">$99 / month</p>
                <p>Up to 15 users</p>
                <a id="2" class="btn btn-large btn-info btn-block planSelector" href="#">Select plan</a>
            </div>
        </div>
        <div id="Medium" class="span3">
            <div class="sparta-plan">
                <h4 id="3">Medium</h4>
                <p class="planPrice">$199 / month</p>
                <p>Up to 30 users</p>
                <a id="3" class="btn btn-large btn-info btn-block planSelector" href="#">Select plan</a>
            </div>
        </div>
        <div id="Mega" class="span3">
            <div class="sparta-plan">
                <h4>Custom</h4>
                <p>...</p>
                <p>Please contact us</p>
                <a class="btn btn-large btn-info btn-block" href="#">Contact us</a>
            </div>
        </div>

1 个答案:

答案 0 :(得分:1)

您需要使用.siblings().closest().find()

的组合

使用

var planPrice = $(this).siblings(" p.planPrice").text();

或者

var planPrice = $(this).closest('.span3').find(" p.planPrice").text();

DEMO