0

jquery スライダーを賢く使おうとしています。

私の開発では、製品が選択されるオートコンプリート フィールドがあります。選択すると、価格がデータベースから取得され、 input に取り込まれますlistprice

次に、adjustedprice入力と入力がありdiscountます。

私が望んでいるのは2倍です。

オプション 1: リスト価格が jquery によってデータベースから入力されると、ユーザーは希望する調整adjusted price価格を入力に入力できます。次に、これは「listprice」入力に対して計算を行い、discount入力が効果割引 % と等しくなるように調整する必要があります。

オプション 2: リスト価格が jquery によってデータベースから読み込まれると、ユーザーは希望する割引discountを入力に入力できます。次に、これは入力に対して計算を行い、正しい値にlistprice調整する必要があります。adjustedprice

このようにして、ユーザーは割引または希望の価格を入力でき、それによって他の入力が更新されます。

私はフィドルhttp://jsfiddle.net/C8X4D/67/基本を持っています。今のところ、listprice手動​​で入力してデータベースの人口をシミュレートできます。

4

2 に答える 2

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/

于 2013-03-28T12:36:01.070 に答える
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 "";
}
?>
于 2013-03-28T12:36:52.890 に答える