1

伙计们,

每当它们中的任何一个发生更改时,我都会尝试将 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>
4

4 回答 4

4

不要使用livechange而是使用事件。

另外,您将结果设置为 element #display,但我认为您的意思是#Total.

编辑 既然你还没有弄清楚,那就去吧......

$(函数(){
  $(".DropChange").change(function(){
    var valone = $('#ValOne').val();
    var valtwo = $('#ValTwo').val();
    var 总计 = ((valone * 1) * (valtwo * 1));
    $('#Total').text(total);
  });
});
于 2009-09-30T16:55:26.977 回答
0

您将无法通过 jQuery 的live函数附加更改事件处理程序。

jQuery 的live功能是通过利用事件冒泡实现的(处理程序附加到文档,当事件冒泡时,jQuery 会根据哪个元素导致事件来确定它是否应该调用您的处理程序)。选择元素的更改事件不会冒泡。

click 事件确实会冒泡,但在值更改时不会引发。

您需要以不同的方式处理此问题。一种选择是直接绑定到元素的更改事件(而不是使用live)。

$(".DropChange").change(function(){

代替

$(".DropChange").live("change", function(){

另一种选择是在计时器上计算和显示产品。

于 2009-09-30T16:19:23.877 回答
0
<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>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript">
    $(document).ready
    (
        function()
        {
            $(".DropChange").change
            (
                function()
                {
                    $("#Total").text($("#ValOne").val() * $("#ValTwo").val());
                }
            );
        }
    );     
</script>
于 2009-09-30T17:16:12.660 回答
0

$(document).ready(function(){
    $('.DropChange').change(function(e){
        var total = 0;
        $('.DropChange').each(function(){
            var n = +$(this).val();
            if(total){
                total *= n;
            } else{
                total = n;
            }
        });
        $('#Total').text(total);
    });
});

于 2009-09-30T17:57:57.297 回答