我想要做的是抓住input
与statisPrice-0
类的价值,或者写在代码中:
statisPrice-" . $i . "
随着数字的增加0,1,2,3,4...
我稍后需要使用此值进行一些数学计算。
我尝试了几种方法来捕捉input
的价值,但我得到一个空字符串或undefined
。我在这里读过,所有的答案都没有帮助我解决我的问题。
echo "<input type='number' name='qtty-" . $i . "' class='col-md-6' min='" . $good['Ratio'] . "' step='" . $good['Ratio'] . "' value='" . $good['Ratio'] . "'>";
echo "<div class='col-md-3'>";
echo "<div class='col-md-12'><strong>Цена в лв.</strong></div>";
// this is the input:
echo "<input type='hidden' class='statisPrice-" . $i . "' val='" . number_format((float)$good['PriceOut2'] * $good['Ratio'], 3, '.', '') . "'>";
echo "<div class='col-md-12 price-" . $i . "'>" . number_format((float)$good['PriceOut2'] * $good['Ratio'], 3, '.', '') . "</div>";
echo "</div>";
我的jquery代码是:
$(document).ready(function(){
//change the price
var thisIsIt = $(this);
$("input[name*='qtty']").change(function() {
var val = $(this).val();
var getName = $(this).attr("name");
var getNumber = getName.substr(5, 10);
// this is the code where im trying to catch the input and i tryed several ways and noone of them worked :(
var price = thisIsIt.find(".statisPrice-" + getNumber).val();
alert(".statisPrice-" + getNumber);
alert(price); //outputs empty string ""
alert(val);
thisIsIt.find(".price-" + getNumber).text(val * price);
});
});
我不明白为什么它不能取hidden input
的值并进行计算 - &gt; val * price
如果有人可以告诉我我在哪里犯错误,我将感激不尽。
答案 0 :(得分:1)
你应该使用
$( "input[name^='qtty']" )
而不是使用alert使用console.log
甚至更好地将调试器放在问题位置
在var price = $(".statisPrice-" + getNumber).val();
之前的
并检查运行时可用的值。
答案 1 :(得分:1)
正如@dandavis评论中所述,您<input>
元素的属性必须是value
而不是val
。
<input ... value=".." />