PHP + Jquery根据两个下拉列表更改Textbox的值

时间:2014-05-26 07:51:01

标签: javascript php jquery html drop-down-menu

我尝试根据2下拉列表更新文本框值。 1下拉包含price1和其他下拉包含价格2,现在我想要当用户从下拉菜单中选择价格然后文本框显示如“ price1 + price2 = total ”我如何能够同时满足价值在单个文本框值?我的价格来自数据库。这是FIDDLE

PHP代码

 <div class="three columns">
                    <div class="picker">
                        <select name="city" required>
                        <option value="" disabled>Select</option>
                            <?php 
                            $result = mysqli_query($con,"SELECT * FROM area");
                            while($row = mysqli_fetch_array($result))
                            {
                            ?>
                                <option value="New"><?php echo $row['city']."( $ ".$row['area'].")";; ?></option>
                            <?php } ?>
                        </select>
                    </div>
                </div>
                <div class="four columns">
                <div class="picker">
                    <select name="position" required>

                        <?php 
                            $result = mysqli_query($con,"SELECT * FROM pricing");
                            while($row = mysqli_fetch_array($result))
                        {
                        ?>
                            <option value="<?php echo $row['position']; ?>"><?php echo $row['position']."( $ ".$row['price'].")"; ?></option>
                        <?php } ?>
                    </select>
                </div>
            </div>
            <div class="row">
            <div class="two columns">
                Total
            </div>
            <div class="ten columns">
                <div class="field">
                  <input class="input" type="total" id="total" placeholder="" name="total" disabled/>
                </div>
            </div>

        </div>

3 个答案:

答案 0 :(得分:1)

在两个组合上添加一个类并以这种方式写一个事件:

$('.combo').change(function() {
    $('#firstvalue').val(parseInt($('#combo').val()) +parseInt($('#combo1').val()));
});

FIDDLE DEMO

或者你可以这样做:

$('.combo').change(function() {
    $('#firstvalue').val($('#combo').val() +"+"+$('#combo1').val()+"=");
    $('#firstvalue1').val(parseInt($('#combo').val()) +parseInt($('#combo1').val()));
});

SECOND DEMO

答案 1 :(得分:0)

你可以使用变量来实现:

如果你想要两个下拉选项的总和,那么你必须给出seond下拉列表的整数值而不是字符串(比如a3,a4应该是3,4)。见demo html。

 $(document).ready(function() {
    price1=0;
    price2 =0;
    $('#combo').change(function() {
          price1= this.value;
          $('#firstvalue').val(parseInt(price1)+parseInt(price2));

    });


  $('#combo1').change(function() {
    price2 = this.value;
    $('#firstvalue').val(parseInt(price1)+parseInt(price2));
  });
});

demo

答案 2 :(得分:0)

使用此.. ..

$(document).ready(function() {

$('.combo').change(function() {
    $('#firstvalue').val(parseInt($('#combo').val()) +parseInt($('#combo1').val()));
});


$('#combo1').change(function() {
    $('#firstvalue1').val($('#combo1').val());
});
});