JQuery 2 个选择的乘法
伙计们,
每当两个选择下拉列表中的任何一个发生更改时,我都会尝试将其值倍增,然后显示该值。
这就是我所拥有的(当然这不起作用)-有什么想法吗?
蒂亚!
编辑编辑编辑编辑编辑编辑编辑编辑
感谢大家的帮助 - 我已经更新了 JQuery 以反映我根据您的所有帖子所做的尝试。还不走运,但我学到了很多东西:)
最后一次使用可行的解决方案进行编辑 - 谢谢大家
$(document).ready(function() {
$(".DropChange").change(function(){
var ValOne = $('#ValOne').val();
var ValTwo = $('#ValTwo').val();
var totalTotal = ((ValOne * 1) * (ValTwo * 1));
$('#Total').text(totalTotal);
});
});
<select name="ValOne" id="ValOne" class="DropChange">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<select name="ValTwo" id="ValTwo" class="DropChange">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<span id="Total"></span>
Folks,
I'm trying to multiple the values of 2 select dropdowns whenever either of them are changed and then display that value.
This is what I have (which of course doesn't work) - Any ideas?
TIA!
EDIT EDIT EDIT EDIT EDIT EDIT
Thanks everyone for the help - I've updated the JQuery to reflect the attempts I've made based on all your posts. No luck yet, but I'm learning a lot :)
EDITED ONE LAST TIME WITH WORKING SOLUTION - Thanks all
$(document).ready(function() {
$(".DropChange").change(function(){
var ValOne = $('#ValOne').val();
var ValTwo = $('#ValTwo').val();
var totalTotal = ((ValOne * 1) * (ValTwo * 1));
$('#Total').text(totalTotal);
});
});
<select name="ValOne" id="ValOne" class="DropChange">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<select name="ValTwo" id="ValTwo" class="DropChange">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<span id="Total"></span>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不要使用
live
,而是使用change
事件。另外,您将结果设置到元素
#display
中,但我认为您的意思是#Total
。编辑既然你还没有弄清楚,那就开始吧...
Don't use
live
, usechange
event instead.Also, you are setting the result into an element
#display
, but I think you mean#Total
.EDIT Since you still haven't figured it out, here ya go...
您将无法通过 jQuery 的
live
函数附加更改事件处理程序。jQuery 的
live
功能是通过利用事件冒泡来实现的(一个处理程序附加到文档中,当事件冒泡时,jQuery 会根据引起事件的元素来确定是否应该调用您的处理程序)。 select 元素的更改事件不会冒泡。点击事件确实会冒泡,但当值更改时不会引发。
您需要以不同的方式处理这个问题。一种选择是直接绑定到元素的更改事件(而不是使用
live
)。另
一种选择是在计时器上计算并显示乘积。
You won't be able to attach a change event handler via jQuery's
live
function.jQuery's
live
function is implemented by taking advantage of event bubbling (a handler is attached to the document, when an event bubbles up, jQuery determines if it should call your handler based on which element caused the event). The select element's change event does not bubble up.The click event does get bubbled up, but it's not raised when the value changes.
You'll need to approach this differently. One option is to bind directly to the elements' change events (as opposed to using
live
).instead of
Another option is to calculate and display the product on a timer.