我想减去2个值,并使用javascript立即进行计算。
我需要找到一种方法来定位JS中的第二个<select>
id,因为我回应了选项,我这样做:
<tr> <!-- first row, with css -->
<td style="width:50%;">From</td>
<td style="width:50%;">
<select name="fromlevel" id="fromlevel" style="width:100%; text-align:center; font-weight:bold;">
<?php
$i = 1;
while ($i < 91) {
echo '
<option value=f' . $i . ' name=f' . $i . '>' . $i . '</option>';
$i++;
}
?>
</select>
</td>
</tr>
<tr> <!-- second row, with css -->
<td>To</td>
<td>
<select name="tolevel" id="tolevel" style="width:100%; text-align:center; font-weight:bold;">
<?php
$i = 1;
while ($i < 91) {
echo '
<option value=t' . $i . ' name=t' . $i . '>' . $i . '</option>';
$i++;
}
?>
</select>
</td>
</tr>
我用f1,f2,f3,f4等引用了ID,以及t1,t2,t3,t4等。我在JS中如何区分它们?
下面的JS工作如果我只是将第一个<select>
的ID称为$ i,我对JS非常糟糕,而且我不知道如何制作该参考文件f $ i
var level_current_prices = {};
for(var i = 1; i <= 90; i++ ) {
level_current_prices[i] = i;
}
function getCurrentLevel() { // current level, from
var levelSetPrice=0;
var theForm = document.forms["priceCalcForm"];
var selectedLevel = theForm.elements["fromlevel"];
levelSetPrice = level_current_prices[selectedLevel.value];
return levelSetPrice;
}
function calculateTotal() {
var LevelPrice = getCurrentLevel();
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "Total Price For the Leveling $"+LevelPrice;
}
function hideTotal() {
var divobj = document.getElementById('totalPrice');
divobj.style.display='none';
}
document.forms['priceCalcForm'].fromlevel.onchange = function () {
calculateTotal();
}
答案 0 :(得分:0)
你的问题有点困惑。我想你在谈论以下几行?
for(var i = 1; i <= 90; i++ ) {
level_current_prices[i] = i;
}
使用数据预先填充对象,level_current_prices
的索引是字符串,而不是数字(可以是数组)。您可以在括号内完成所需的操作以生成密钥,但您只需要level_current_prices['f'+i]
如果这不是您的意思,请澄清您的问题。
如果它是您想要的,您可以使用php预生成对象(作为JSON)。
<?php
$i=1;
$out = "{";
while ($i<91) {
$out .= "\"t".$i."\"=".$i.",";
$i++;
}
$out .="};";
echo "var level_current_prices = ".$out;
?>
自从我使用php以来你已经有一段时间了,所以你可以做得更好:D。