获取复选框并取消选中值

时间:2014-04-08 04:41:50

标签: jquery ruby-on-rails

我在下面有一个复选框:

<%= form_for(:Communication, :html => { :id => "communication_form" }) do |f| %>
<table>
      <tr>
         <td>
            <%= f.check_box(:chkbx_Phone, { :id => "cb_Phone", :value => "false" }) %>
            <%= label_tag "Phone" %>
         </td>
      </tr>
</table>
<table width="92%">
      <tr>
         <td align="center">
            <div class="button" style="margin-left:60px;">
                <%= f.submit "Next", { :class => "buttonSearch"} %>
            </div>
         </td>          
      </tr>
</table>
<% end %>

我希望如果用户选中复选框,那么它会得到我的值1,如果用户仍然取消选中复选框,那么在点击提交按钮后它会得到值0,下面是jquery代码:

<script type="text/javascript">
   $("#communication_form").submit(function ( event ) {
      //alert("Hassan");
      var phone_value = $("#cb_Phone").val();
      alert(phone_value);
   });
</script>

但它只显示1复选框已选中或未选中

2 个答案:

答案 0 :(得分:2)

在这种情况下,您需要检查元素的已检查状态

var phone_value = $("#cb_Phone").is(':checked') ? 1 : 0;
  • .is() - 返回true,当前集合中至少有一个元素与传递的选择器匹配
  • :checked

答案 1 :(得分:0)

您可以通过简单的代码执行此操作:

$('#cb_Phone').change(function(){
      if($(this).is(':checked')){
  // do something
}
 else{ 
 // do something
}