我有一些非常简单的东西可以获得输入值。
代码如下所示:
var $a = $('.custom-amount').val();
$('.custom-amount').on('change', function() {
alert($a)
})
我的意见:
<div class='custom-amount'>
<input placeholder='Custom Amount' type='text-area'>
出于某种原因,我的提醒是空的。有谁看到什么出错了?
答案 0 :(得分:2)
将您的选择器更改为$('.custom-amount input')
,并在触发更改事件后获取值,例如
$('.custom-amount input').on('change', function() {
var a = $(this).val();
alert(a);
});
现在,您正在尝试获取div
的值,这将无效。您需要获取输入值。
修改:此外,您似乎正在尝试显示textarea
。尝试替换这个...
<input placeholder='Custom Amount' type='text-area'>
有了......
<textarea placeholder='Custom Amount'></textarea>
这可能有所帮助:
答案 1 :(得分:2)
问题很简单,你得到的是div元素的值。相反,你应该检索输入元素的值,以便自定义数量&#39;必须将类添加到输入中。
此外,您需要在事件中执行val()方法以更新值。
var $a = $('.custom-amount');
$('.custom-amount').on('change', function() {
alert($a.val());
});
答案 2 :(得分:1)
因为你的div没有价值。将您的代码更改为:
var $input = $('.custom-amount input');
$input.on('change', function() {
var $a = $input.val();
alert($a)
})
答案 3 :(得分:0)
首先,您只能在$a
功能之外指定change
。如果您保持代码排列更好,这将更加清晰(请参阅我对您的帖子进行的编辑)。这是正确的方法:
$('.custom-amount').on('change', function() {
var $a = $('.custom-amount').val();
alert($a)
});
其次,课程custom-amount
被分配到<div>
而不是<input>
元素。您必须选择<input>
元素,而不是<div>
。将您的标记更改为:
<div>
<input placeholder='Custom Amount' type='text-area' class='custom-amount'>
</div>