那天,
我不确定我究竟能做到这一点。这里有一些代码可以提供一些上下文。
// API dictionary
$(document).ready(function(){
var itemNameTitle = 'Task'
var itemQtyTitle = 'Quantity'
var itemRateTitle = 'Rate <span>($/hr)</span>'
var itemPriceTitle = 'Price <span>($)</span>'
var itemNameInput = '<input type="text" name="item-name-input" value="Mockups">'
var itemQtyInput = '<input type="text" name="item-qty-input" value="1">'
var itemRateInput = '<input type="text" name="item-rate-input" value="35">'
var itemPriceCalc = 128 / 2
$('#page').load('templates/default.html', function() {
$this = $(this);
$this.html($this.html().replace('%item-name-title%',itemNameTitle));
$this.html($this.html().replace('%item-qty-title%',itemQtyTitle));
$this.html($this.html().replace('%item-rate-title%',itemRateTitle));
$this.html($this.html().replace('%item-price-title%',itemPriceTitle));
$this.html($this.html().replace('%item-name-input%',itemNameInput));
$this.html($this.html().replace('%item-qty-input%',itemQtyInput));
$this.html($this.html().replace('%item-rate-input%',itemRateInput));
$this.html($this.html().replace('%item-price-calc%',itemPriceCalc));
});
});
我希望你能看到我在这里要做的事情。基本上我需要将value
和itemQtyInput
itemRateInput
相乘,然后发布到页面上的div。不幸的是,当我这样做时,它最终会发布'NaN'。
任何人都知道我做错了什么?
答案 0 :(得分:3)
一旦页面中存在这些元素(因此,在$("#page").load
回调之后),您可以像这样获取jQuery对象:
var $qty = $("input[name=item-qty-input]");
var $rate = $("input[name=item-rate-input]");
然后,您可以通过.val
获取它们的值,并将这些字符串解析为十进制浮点数:
var qty = parseFloat($qty.val()); // Or a whole number: parseInt($qty.val(), 10)
var rate = parseFloat($rate.val());
然后,当然,划分(或乘以或添加或你正在尝试做的任何事情):
var itemPriceCalc = rate / qty; // Or + or *
通常,您会等到用户事件执行此操作,但我不太确定您的页面是什么。
答案 1 :(得分:1)
试试这个......我试过这个...它正在运作......
$(document).ready(function () {
var itemQtyInput = '<input type="text" name="item-qty-input" value="1">'
var itemRateInput = '<input type="text" name="item-rate-input" value="35">'
var itemPriceCalc = parseFloat(parseInt($(itemRateInput).val()) / parseInt($(itemQtyInput).val()));
alert(itemPriceCalc);
$('div').val(itemPriceCalc);
});
答案 2 :(得分:0)
String / String =非数字
希望这是有道理的:
var value1 = document.getElementById('input1').value;
var value2 = document.getElementById('input1').value;
// parseInt converts the string to a integer
var result = parseInt(value1) / parseInt(value2);
答案 3 :(得分:0)
您不希望将文字标记放入变量中。您想要引用所谓的选择器:
var itemQtyInput = $('input[name="item-qty-input"]').val();
var itemRateInput = $('input[name="item-rate-input"]').val();
var itemPriceCalc = itemRateInput / itemQtyInput;
alert(itemPriceCalc);
这种效果应该有效。希望这有帮助!
答案 4 :(得分:0)
这是jQuery的方式来做你想要的:
var qty = parseInt($("input[name=item-qty-input]").val(), 10);
var rate = parseInt($("input[name=item-rate-input]").val(), 10);
var product = qty * rate;
$("#resultDiv").text(product);