没有从JavaScript中获取div的值

时间:2012-02-02 06:31:43

标签: javascript html getelementbyid

我正在尝试从增值税的预先计算的金额中计算不含增值税的金额。 HTML表单如下所示:

<table>
        <tr>
            <th>Sl No</th>
            <th>Description of goods</th>
            <th>Price</th>
            <th>VAT%</th>
            <th>Price with VAT</th>
            <th>Quantity</th>
            <th>Amount</th>
        </tr>   

    {foreach name = feach item = k from = $ip key = ind}
        <tr>
            <td>{$ind+1}</td>
            <td>{$k->brand},{$k->model}</td>
            <td id="prd_prc">&nbsp;</td>
            <td id="vat{$ind}">
                <select name="vatpc" id="vatpc" onchange="calculate('{$ind}')">
                    <option value="5">5</option>
                    <option value="13.5">13.5</option>
                </select>
            </td>
            <td id="total_cost{$ind}">{$k->price}</td>
            <td>{$k->quantity}</td>
            <td>{$k->total_cost}</td>
        </tr>
    {/foreach}
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>Total Cost </td>
            <td>{$final_amount}</td>
        </tr>
    </table>

JavaScript函数是:

function calculate(idno)
{
    //alert(idno);
    var vat_pc = document.getElementById("vatpc").value;


    var total_cost = document.getElementById("total_cost"+idno).value;

    //total_cost = Number(total_cost);
    alert(total_cost);

    //vat_pc = parseFloat(vat_pc);
    // = v + 2.10 + 11.25;
    //alert(v);
    // document.getElementById("total").innerHTML = "Total - amount : "+v+" USD";
}

但警报显示undefined。我尝试添加innerHTML,但效果相同。请帮忙。提前致谢

2 个答案:

答案 0 :(得分:2)

total_costX是<td>元素。使用textContent属性。

var total_cost = document.getElementById("total_cost"+idno).textContent;

答案 1 :(得分:0)

没有像潜水的价值那样。但你可以在潜水中获得文字或html。如果你使用jquery,它应该很简单:

$(document.getElementById("vatpc")).text();
//OR
$(document.getElementById("vatpc")).html();

或jQuery的方式

$( “#vatpc”)文本();    //要么    $( “#vatpc”)HTML();