使用jQuery获取select标签的值

时间:2013-11-05 14:15:00

标签: jquery

我怎样才能做到以下几点:

<script type="text/javascript">
    $("button").click(function() {
         var sum = 0;

         $("select").each(function() {
           sum += parseInt(this.value);
        });

       alert(sum);
    });
</script>
<?php
     for($i=0;$i<50;$i++) {
         echo "<div>
                  <select>";

         for($x=1;$x<5;$x++) {
             echo "<option value='".$x."'>".$x."</option>";
         }

         echo "</select>
               </div>";
     }
 ?>
 <button>Submit</button>

客户端可以相应地编辑每个选择标记。如何点击按钮,将返回每个用户选择的总和?

2 个答案:

答案 0 :(得分:1)

您的代码有效。你只需要用$(function(){...})包装你的javascript:

$(function(){
  $("button").click(function() {
     var sum = 0;

     $("select").each(function() {
       sum += parseInt(this.value);
    });

   alert(sum);
  }); 
});

答案 1 :(得分:0)

你几乎就在那里。 2变化:

  1. 点击您的按钮点击$(function() {});之间的Javascript:

    $(function() {
        $("button").click(function() {
            var sum = 0;
    
            $("select").each(function() {
                sum += parseInt(this.value);
            });
    
            alert(sum);
        });
    });
    

    以便在文档准备好/按钮实际存在(explained in detail here)之后才会注册单击处理程序。

  2. 您可能还想更改:

    sum += parseInt(this.value);
    

    sum += parseInt($(this).val());
    

    以便jQuery处理一些跨浏览器的东西。

  3. 工作演示:here at JSFiddle

    编辑:当然,请确保在使用之前包含jQuery! How jQuery Works