PHP + jQuery:使用jQuery从PHP表单中获取数据

时间:2013-12-28 17:45:11

标签: php jquery

我已经做了很多关于此事的搜索,并且我已经尝试了几乎所有被认为无效的事情。

我有2个系列的单选按钮(只发布一个系列):

    <div class='place PP'>
              <input type='radio' name='hotel' class='hotel' value='Natura Cabana Boutique Hotel' required>
              Natura Cabana Boutique Hotel (24.300 DKK)
              <input type='hidden' name='hotelPrice' class='Natura Cabana Boutique Hotel' value='24.300'>
            </div>
    <div class='place PP'>
              <input type='radio' name='hotel' class='hotel' value='Casa Maravilla' required>
              Casa Maravilla (42.500 DKK)
              <input type='hidden' name='hotelPrice' class='Casa Maravilla' value='42.500'>
            </div>
    <div class='place PP'>
              <input type='radio' name='hotel' class='hotel' value='Casa Veintiuno' required>
              Casa Veintiuno (31.500 DKK)
              <input type='hidden' name='hotelPrice' class='Casa Veintiuno' value='31.500'>
            </div>

从数据库中检索价值和价格。

我的jQuery代码显示价格如下:

$(".hotel").change(function() {
    var hotel = $(this).val();

    switch (hotel) {
        case "Natura Cabana Boutique Hotel":
            var x = new Number(24.300);
            $("#price").val(x.toFixed(3) + " DKK");
            break;
        case "Casa Maravilla":
            var x = new Number(42.500);
            $("#price").val(x.toFixed(3) + " DKK");
            break;
        case "Casa Veintiuno":
            var x = new Number(31.500);
            $("#price").val(x.toFixed(3) + " DKK");
            break;
        // more jQuery code
        } });

如何传递2个值并将我使用的固定数字替换为$ hotelPrice的值?

非常感谢。

1 个答案:

答案 0 :(得分:1)

鉴于你已经有三种方式嵌入价格(明文,隐藏表格字段,JS开关语句),它相当重复。除了隐藏的表单字段之外,您可以抛弃所有内容,例如:

<input type='radio' name='hotel' class='hotel' value='Casa Maravilla' required>
Casa Maravilla (<span class="displayPrice">42.500</span> DKK)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^---note new span
<input type='hidden' name='hotelPrice' class='Casa Maravilla' value='42.500'>

然后:

$(".hotel").change(function() {
    price = $(this).siblings('.hotelPrice');
    $(this).parent().children('.displayPrice').val(price);
});

由于每个DOM节点都“知道”它在树中的位置,您可以使用.siblings()从隐藏的表单字段中检索酒店的价格,然后.parent().children('...')找到新的跨度并插入检索价格。