我正在使用一个输入,该输入采用用户输入的数字,并在模糊事件触发时将其转换为美元金额。
我遇到的问题是浏览器似乎保持以前提交的值与其美元符号完好无损。因此,如果用户从下拉列表中选择之前输入的“$ 25000”值,当模糊事件再次触发时,它会添加'$',因此我得到'$$ 25000'
为了阻止这种情况,我已经对字符串值进行了调整,如果它在模糊中包含2'$':
HTML:
<input type="text" value="$5,000" id="dollar-amount-goal" />
使用Javascript:
var valueOnBlur = $('#dollar-amount-goal').val();
if(valueOnBlur.charAt(1) === '$'){
valueOnBlur = $('#dollar-amount-goal').val(valueOnBlur.substr(1));
}
console.log(typeof( valueOnBlur ));
运行字符串检查时上面的typeof语句的结果是'object'。它出现后的任何时候都是'字符串'(这就是我想要的)。
我的问题:如何让"valueOnBlur = $('#dollar-amount-goal').val(valueOnBlur.substr(1));"
语句在运行时返回一个字符串?
由于
答案 0 :(得分:1)
尝试更改此内容:
valueOnBlur = $('#dollar-amount-goal').val(valueOnBlur.substr(1));
对此:
valueOnBlur = $('#dollar-amount-goal').val(valueOnBlur.substr(1)).val();
您想要$('#dollar-amount-goal')
的值,而不是$('#dollar-amount-goal')
将返回的jQuery对象