我有这个搜索后得到的代码。我唯一要做的就是从$
值中删除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" />
答案 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" />