jquery / javascript根据另一个输入中的数字调整两个文本框中的数值

时间:2013-03-28 12:30:24

标签: jquery

我试图通过jquery滑块变得聪明。

在我的开发中,我有一个自动完成字段,其中选择了产品。在选择时,价格从数据库中提取并填充到输入listprice

然后我输入adjustedpricediscount输入。

我想要的是双重的。

选项1: 当通过jquery从数据库填充列表价格时,用户可以将他希望的 adjustprice 输入adjusted price输入。然后必须根据'listprice'输入进行数学运算,并将discount输入调整为等于效果折扣%。

选项2: 当通过jquery从数据库填充清单价格时,用户可以将他希望的折扣输入discount输入。然后,必须对listprice输入进行数学运算,并将adjustedprice调整为正确的值。

这样,用户可以输入折扣或期望的价格,然后它将更新其他输入。

我有一个基础知识的小提琴http://jsfiddle.net/C8X4D/67/。现在可以手动输入listprice来模拟数据库填充。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作来计算并显示数字,同时输入调整后的价格或折扣:

$("#listprice").keyup(function(){
    $("#adjustedprice").val(this.value);

    $('#adjustedprice').on('keyup', function() {
        var discount = 0;

        var adjustedPrice = $(this).val();
        var listPrice = $("#listprice").val();
        var discount = Math.round((adjustedPrice / listPrice) * 100);

        $('#discount').val(discount);
    });

    $('#discount').on('keyup', function() {
        var adjustedPrice = 0;

        var discount = $(this).val();
        var listPrice = $("#listprice").val();
        var adjustedPrice = Math.round(listPrice * (discount / 100));

        console.log(adjustedPrice);

        $('#adjustedprice').val(adjustedPrice);
    });
});

演示:http://jsfiddle.net/C8X4D/72/

答案 1 :(得分:1)

您正在使用自动完成功能选择产品..好的,现在您只需通过自动完成功能选择该产品的ID即可。之后您可以通过使用Ajax获取该特定ID的价格

这是Html代码:

$("#partyName").autocomplete("getPartyAj.php", 
{   
    width: 400,     
    matchContains: true,
    mustMatch: false,
    minChars: 0,
    highlight: false,
    selectFirst: true,
    formatItem: function(data, i, n, value) {   
      return  value.split("|")[0];
  }
}); 
$("#partyName").result(function(event, data, formatted) {
  $("#partyId").val(data[1]);
  balance();
});

function balance()
{
  var dataString = "partyId=" + $('#partyId').val();
  $.ajax({
  type: "GET",
  url: "balanceAj.php",
  data : dataString,
  success:function(data){ 
  $('#partyBalance').val(data);
  }
 });
}

Php代码:(getPartyAj.php)

<?php
include("include/config.inc.php");
$q = strtolower($_GET["q"]);
if (!$q) return;
$selectPartyQry = "SELECT partyId,partyName
                     FROM party 
                    WHERE partyName REGEXP '$q'";
$selectPartyQryRes = mysql_query($selectPartyQry);
if(mysql_num_rows($selectPartyQryRes) > 0)
{
  while($partyRow = mysql_fetch_array($selectPartyQryRes)) 
  {
    echo $partyRow['partyName'].'|'.$partyRow['partyId']."\n";
  }
}
else
{
    echo "";
}
?>