JavaScript 中无法从 div 获取值

发布于 2025-01-01 05:49:31 字数 2005 浏览 2 评论 0原文

我正在尝试根据预先计算的增值税金额来计算不含增值税的金额。 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,但结果相同。请帮忙。提前致谢

I am trying to calculate amount without VAT from a pre-calculated amount with VAT . The HTML form looks like :

<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"> </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> </td>
            <td> </td>
            <td> </td>
            <td>Total Cost </td>
            <td>{$final_amount}</td>
        </tr>
    </table>

And the JavaScript function is :

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";
}

But the alert shows undefined. I tried adding innerHTML,but results same. Please help. Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盗琴音 2025-01-08 05:49:31

Total_costX 是一个 元素。使用 textContent 属性。

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

total_costX is a <td> element. Use the textContent property.

var total_cost = document.getElementById("total_cost"+idno).textContent;
离旧人 2025-01-08 05:49:31

没有什么比潜水更有价值的了。但你可以在 div 中获取文本或 html。如果你使用 jquery,它应该很简单:

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

或者 jQuery 的方式

$("#vatpc").text();
//或者
$("#vatpc").html();

There in nothing like value of dive. But you can get text or html inside dive. if you are using jquery, it should be quite simple:

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

Or jQuery's way

$("#vatpc").text();
//OR
$("#vatpc").html();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文