获取两个输入元素的值,并检查第三个元素的值.将值设置为第四个元素

Get the values of two input elements and check the value ot third. Set value to forth element

本文关键字:元素 三个 设置 四个 两个 输入 获取 检查      更新时间:2024-03-24

我有两个输入元素和一个选择元素。我想要的是获取输入元素的值,并检查select的值。输入元素是产品基本价格和价格加成,所以它们是十进制数字。

选择的值为1和2。1为固定价格,2为百分比。

因此,我想检查基本价格输入字段是否有值,价格标记字段是否有一个值,并检查选择字段。

如果输入字段不是空白并且select=1(固定价格),然后将基本价格和价格标记字段相加,并将结果设置为第4个字段的值,即"价格"。

如果选择值=2(百分比),则获得基本价格和价格标记中的数字+或-(视为百分比)。

到目前为止,我有以下代码:

<div class="form-group">
            <label class="col-sm-2 control-label" for="input-base_price"><?php echo $entry_base_price; ?></label>
            <div class="col-sm-10">
              <input type="text" name="base_price" value="<?php echo $base_price; ?>" placeholder="<?php echo $entry_base_price; ?>" id="base_price" class="form-control" />
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-price_mark"><?php echo $entry_price_mark; ?></label>
            <div class="col-sm-10">
              <input type="text" name="price_mark" value="<?php echo $price_mark; ?>" placeholder="<?php echo $entry_price_mark; ?>" id="price_mark" class="form-control" />
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-price_mark_type"><?php echo $entry_price_mark_type; ?></label>
            <div class="col-sm-10">
              <select name="price_mark_type" id="price_mark_type" class="form-control">
                <option value="1"><?php echo $entry_fixed_price;?></option>
                <option value="2"><?php echo $entry_percent;?></option>
              </select>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-price"><?php echo $entry_price; ?></label>
            <div class="col-sm-10">
            <script type="text/javascript">
            base_price = $("#base_price").attr('value');
            price_mark = $("#price_mark").attr('value');
            price_mark_type = $("#price_mark_type").attr('value');
            fixed = base_price + price_mark;
            percent = base_price * (price_mark / 100);
              if (base_price && price_mark == 1 ) {
                  $('#price').val(fixed);
              }
              if (base_price && price_mark == 2 ) {
                  $('#price').val(percent);
              }
            </script>
              <input type="text" value="" name="price" placeholder="<?php echo $entry_price; ?>" id="price" class="form-control" />
            </div>
          </div>

我也尝试过:

<script type="text/javascript">
              var base_price = document.getElementById("base_price").value;
              var price_mark = document.getElementById("price_mark").value;
              var price_mark_type = document.getElementById("price_mark_type").value;

              if (base_price && price_mark == 1 ) {
                  document.getElementById("price").value = 'parceInt(base_price) + parceInt(price_mark)';
              }
              if (base_price && price_mark == 2 ) {
                  document.getElementById("price").value = 'parceInt(base_price) * (parceInt(price_mark) / 100)';
              }
            </script>

我尝试了这些建议,但到目前为止没有结果:如何使用jQuery 设置输入文本的值

在输入文本框中获取值

如果您使用的是jQuery,
price_mark_type=$("#price_maark_type").val()应返回1或2。

base_price&amp;price_mark==1应该改为base_price&amp;price_mark_type==1

var base_price = $("#base_price").val();
            var price_mark = $("#price_mark").val();
            var price_mark_type = $("#price_mark_type").val();
            if (base_price && price_mark_type == 1) {
                $("#price").val(parseInt(base_price) + parseInt(price_mark));
            }
            else if (base_price && price_mark_type == 2) {
                $("#price").val(parseInt(base_price) + (parseInt(base_price) * (parseInt(price_mark) / 100)));
            }

与合作

 $('#price_mark').click(function(){
            var base_price = $("#base_price").val();
            var price_mark = $("#price_mark").val();
            var price_mark_type = $("#price_mark_type").val();
            if (base_price && price_mark_type == 1) {
                $("#price").val(parseInt(base_price) + parseInt(price_mark));
            }
            else if (base_price && price_mark_type == 2) {
                $("#price").val(parseInt(base_price) + (parseInt(base_price) * (parseInt(price_mark) / 100)));
            }
            });

感谢吉塔兹!