【问题标题】:How can use coupon code to minus value from total price如何使用优惠券代码从总价中减去价值
【发布时间】:2017-09-14 05:10:33
【问题描述】:

这是我使用优惠券输入的 html 部分

如果需要更多代码,我会提供

Enter Coupon Code 



<input type="text" class="form" name="couponadd" id="couponadd" placeholder="Enter Your Coupon Code" oninput="myFunction()" style="width: -moz-available;" />

Oninput 我正在脚本中获取优惠券代码

<script>
function myFunction() {
 var getcoupon = document.getElementById("couponadd").value;
 var aftercoupn=0;

如果优惠券代码是金币,则总金额中减去 15 个

 if(getcoupon == 'gold')
 {
 var aftercoupn = 15;
 document.getElementById("aftercoupan").innerHTML = '- $' + aftercoupn;
 alert('minus 15 dollers');
 }

如果优惠券代码是白银,则从总数中减去 10

 else if(getcoupon == 'silver')
 {
  var aftercoupn = 10;
 document.getElementById("aftercoupan").innerHTML = '- $' +  aftercoupn;
  alert('minus 10 dollers');
 }
 else
 {
 }

}
</script>

我正在从 php 代码循环中获取价格

echo  "<ul id='sub'>";
if($Seats == null){ 
echo '<li class="BlankSeat" ></li>';
}
elseif($ticketType=='PINK' && $ticketType == $_GET['type']){
echo '<li class="pink" id="pink" data-price="100" title="Row'.$Seats.'" name="'.$RowName.'" value="'.$Seats.'"></li>';
}

else{
echo '<li class="orange" id="orange" data-price="200" title="Row'.$Seats.'" name="'.$RowName.'" value="'.$Seats.'"></li>';
}

}

echo "</ul>";

点击li获取价格的脚本代码

var total =0;
var counter = 0;
var price=0;
$('li').click(function(e) {
var price = $(this).attr('data-price');
if click something
{
counter++;
}else
{
counter --;
}

我如何在此处使用优惠券代码价值总计

var total = parseFloat(price * counter);
document.getElementById('demoPrice').innerHTML = '$' + total;
}
});

【问题讨论】:

  • 将`aftercoupn`值保存在input隐藏字段中,当你想使用时获取
  • @Pritamkumar iam 使用 oninput 函数获取优惠券代码。所以当优惠券输入时,会从总价中减去一些价格
  • @Pritamkumar 之后呢?
  • 我希望你也有优惠券检查服务器端,否则任何人都可以查看 HTML 并帮助自己获得折扣。

标签: php jquery jquery-ui


【解决方案1】:

在文本输入上更新aftercoupn 变量,然后在 li 的点击上使用它

var total = 0;
var counter = 0;
var price = 0;
var aftercoupn = 0;
$('li').click(function(e) {
  $('li').removeClass('active');
  $(this).addClass('active');
  var price = $(this).attr('data-price');
  if (price) { // I'm not sure with the counter variable here
    counter++;
  } else {
    counter--;
  }
  var total = parseFloat(price * counter);
  $('#demoPrice').text('$' + (total-parseInt(aftercoupn)));
});

function myFunction() {
  var getcoupon = $("#couponadd").val(),
      txt='Invaild Coupon';
  if (getcoupon == 'gold') {
    aftercoupn = 15;
    txt = '- $' + aftercoupn;
    console.log('minus 15 dollers');
    counter=0;
  } else if (getcoupon == 'silver') {
    aftercoupn = 10;
    txt = '- $' + aftercoupn;
    console.log('minus 10 dollers');
    counter=0;
  }
  $('li.active').length && $('li.active').trigger('click');
  $("#aftercoupan").text(txt);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form" name="couponadd" id="couponadd" placeholder="Enter Your Coupon Code" oninput="myFunction()" style="width: -moz-available;" />
<div id="aftercoupan"></div>
<ul id='sub'>
  <li class="BlankSeat" data-price="0">Blank</li>
  <li class="pink" id="pink" data-price="100" title="Row10" name="pink" value="10">Pink</li>
  <li class="orange" id="orange" data-price="200" title="Row20" name="orange" value="20">Orange</li>
</ul>
<div id="demoPrice"></div>

【讨论】:

  • 第一次点击 li 并在演示价格中添加价格(总计)。然后在我输入优惠券代码后,它不会减去旧的总数,它只减去新的点击价格。但它也应该减去旧的总数..这就是问题先生
  • 一旦输入优惠券代码,每次点击价格应该是负数,在 sn-p 中第一次点击粉红色,添加价格,在优惠券代码后它从总数中减去 15 但再次点击粉红色时,再次定价100 每次有人点击优惠券代码后应该是 85
  • 我们也可以使用所有的百分比,然后减去 15 %
  • 先生,请告诉我。如果我们用 stmt-> 或 pdo 类编写 php 代码,它安全吗?而不是任何框架。对我来说非常重要,因为我不知道如何使用框架。所以我使用的是 Prepared Statements stmt->。
  • 我答案中的代码与PHP无关。对于 PDO/MySQLi,请参考链接 php.net/manual/en/book.pdo.phpphp.net/manual/en/book.mysqli.php
【解决方案2】:

我假设您将价格用作全局变量。然后单击li,您应该更新该变量。因此,您将能够在其他地方点击设置价格(我认为这就是您想要实现的目标)。

var total = 0, price, counter = 0;
$('li').click(function(e) {
  price = parseFloat($(this).attr('data-price'));
  // Do your other stuffs if you want
});

然后在其他地方你可以在li点击后得到这个价格。

total = price * counter;
document.getElementById('demoPrice').innerHTML = '$' + total;

整件事都是根据您的需要编写的。如果我在某处认为错误或误解了,请纠正我

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多