在一组复选框下面,我想从框中检索字符串的货币值以保持一致。
例如,如果复选框输入值为“Vantaux inegaux maxi vantail 2150 mm $1021.2”,我将得到 1021.2 。
这是我的代码,但使用 .val() 时返回错误
Uncaught TypeError: this.checked.val is not a function
$(document).ready(function() {
$('input[type=checkbox]').change(function() {
if(this.checked) {
console.log (this.checked.val());
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="Vantaux inegaux maxi vantail 2150 mm $1021.2"/>
请问有什么建议吗?
最佳答案
在您的情况下: this
不是引用 jQuery 对象,它直接引用 HTMLElement,因此要使用 val()
您需要使用 $(this).val()
,但这不是必需的,因为您可以简单地使用 this.value
注意:
this.checked
保存一个 bool 值,true 或 false,它没有任何 value
属性,所以不要像 this 那样使用它.checked.value
,它将是未定义
。
工作示例:
$(document).ready(function() {
$('input[type=checkbox]').change(function() {
if(this.checked) {
console.log (this.value);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="Vantaux inegaux maxi vantail 2150 mm $1021.2"/>
关于javascript从复选框输入字符串值中提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52506127/