自动计算模糊的div值

时间:2014-04-01 10:42:48

标签: javascript onblur

我从mysql数据库生成一个div表,代码如下:

<?php
    $sql = "SELECT * FROM menuitem";
    $result = mysql_query($sql); $i =1;
    while ($row = mysql_fetch_array($result)) {?>

        <div class="orderblock">
            <div class="orderlist">
                <div class="pimage">
                    <p></p>
                </div>
                <div class="pdesc">
                    <p><?php echo $row['prodname']; ?></p>
                    <p><?php echo substr($row['proddesc'], 0, 20); ?></p>
                </div>
                <div class="portion">
                    <input type="text" onblur="document.getElementById('tot<?php echo $i;?>').value=document.getElementById('por<?php echo $i;?>').value * document.getElementById('pri<?php echo $i;?>').value;" id="por<?php echo $i;?>" name="<?php echo $row['prodname']; ?>" >
                </div>
                <div class="price">
                    <p id="pri<?php echo $i;?>"><?php echo $row['price']; ?></p>
                </div>
                <div class="total">
                    <p><input style="border: none;" type="text" id="tot<?php echo $i;?>" disabled="disabled" value=""> </p>
                </div>
            </div>
        </div>

    <?php $i++; }
?>

这是我的最终代码,最后我得到了它的工作,但我得到NaN因为结果可以请我为它排序。 感谢

1 个答案:

答案 0 :(得分:1)

立即尝试。在尝试之前从html中删除你的模糊事件。我希望这会对你有帮助。

$(document).ready(function () {
    $("input[type=text]").blur(function () {

        var portion = $(this).val();
        var price =  $(this).parent().parent().find(".price p").text();
        if(isNaN(portion)==false)
        {
            var tot = portion * price;
            $(this).parent().parent().find(".total p input").val(tot);
        }   
        else
        {
            $(this).parent().parent().find(".total p input").val(0);

        }
    });
});

Demo此处