如何删除" $"从输入值签名

时间:2015-03-11 09:13:03

标签: jquery

我有这个搜索后得到的代码。我唯一要做的就是从$值中删除input符号,但是当我尝试删除它时,我没有得到任何输出。

$(function() {
    $defaultValue = $('.total').val();
    $("input[type=checkbox]").click(function(event) {
        var total = 0;
        $("input:checked").each(function() {
            total += parseInt($(this).parent().find('.inv-total').text().substring(1));
        });

        if (total == 0) {
            $('.total').val($defaultValue);
        } else {
            $('.total').val('$' + total);
        }
    });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="invoice">
    <input type="checkbox" checked='checked' value="1" />
        <span class="inv-total">$100</span>
</div>

<input type="text" class="total" value="$90" />

2 个答案:

答案 0 :(得分:1)

您可以使用replace,例如:

$defaultValue = $('.total').val().replace('$','');

和上次if else条件移除 $ 以与总数相关联,

$('.total').val(total);     

查看此jsbin

创建一个这样的函数:

function __esc(el){
return el.replace('$','');
}

并过滤所有想要转义的元素$

答案 1 :(得分:0)

代码修改:

JS:

$(function() {
    $defaultValue = $('.total').val();
    $("input[type=checkbox]").click(function(event) {
        var total = 0;
        $("input:checked").each(function() {
            total += parseInt($(this).parent().find('.inv-total').text().substring(1));
        });

        if (total === 0) {
            $('.total').val($defaultValue);
        } else {
            $('.total').val(total);
        }
    });
});

HTML:

<div class="invoice">
    <input type="checkbox" checked='checked' value="1" />
        <span class="inv-total">$100</span>
</div>

<input type="text" class="total" value="90" />