我需要根据运输选项进行一些计算。对于这个例子,我只想alert()
新价格。我想为所选费用添加6%,并alert()
。我无法真正修改下面的html,但如果选择了其中一个选项,则会添加selected
:
<select name="ShippingSpeedChoice" onchange="this.form.submit();">
<option value="0">PLEASE SELECT</option>
<option value="701">UPS Ground $9.90 </option>
<option value="703">UPS 3Day Select® $30.88 </option>
</select>
因此,如果选择了选项值701,我想要一个显示总计9.90 * 1.06 .... 10.49的警报。目前无论选择什么,它都会显示它。 (即<option value="703" selected>UPS 3Day Select® $30.88 </option>
警报将为此弹出,它不应该弹出。有什么想法吗?
$(document).ready(function() {
if ($("option[value='701']:selected")) {
$("option[value='701']").each(function () {
var isthePrice = $(this).text().replace("UPS Ground $", "");
var parsedShip = parseFloat(isthePrice);
var doMath = parsedShip * 1.06;
alert(doMath.toFixed(2) + " "); });
}
});
答案 0 :(得分:2)
您正在询问在DOM准备就绪时是否选择了该值。无论何时更改选项,都需要绑定事件处理程序以运行脚本。
$(document).ready(function() {
$("select").bind("change", function(){
if ($("option[value='701']:selected", this)) {
$("option[value='701']").each(function () {
var isthePrice = $(this).text().replace("UPS Ground $", "");
var parsedShip = parseFloat(isthePrice);
var doMath = parsedShip * 1.06;
alert(doMath.toFixed(2) + " "); });
}
});
});
是您的出发点,尽管您可能需要更具体地使用普通案例中使用的选项。