首页 > 解决方案 > 更改复选框 jquery 的 value="" 属性

问题描述

我几乎花了一整天的时间来完成这项工作,但运气不好,我知道这里有很多关于类似问题的帖子,但似乎没有一个对我有用。

我有这个基本的复选框

<input type="checkbox" id="req" class="form-item" name="seroskir" data-label="request" value="">

在提交时我想看看复选框是否被选中。

这是我现在的jquery(这是处理表单的较大代码块的一部分)

$( document ).ready(function() {
  $("button#send-it").click(sendForm);
});

function sendForm() {
 if($('#req').prop('checked')){
     $('#req').value = "want it";
  }
 else{
      $('#req').value = "don't want";
  }
}

我基本上需要的是获得“想要”或“不想要”,value=""以便表单处理程序可以将这些值发送到邮件。

标签: jquery

解决方案


.val()是一个返回元素值的函数,但也可以将 astring作为参数为元素分配给定值。您可以传递 astring以分配您想要的任何元素的值。

$('#req').val("whatever you want");

您还可以简化代码,例如:

var reqValue = $('#req').prop('checked') ? TRUE:FALSE;
$('#req').val(reqValue);

编辑 在第二次阅读这个问题之后......我相信OP应该澄清一些事情。我已经编辑了我的答案,#req将其设置为boolean. 我最初没有意识到我们正在尝试设置复选框的值。复选框值只能设置为 true 或 false。

我的第二点是,尽管从回答 OP 问题的意义上说这是正确的,但这段代码实际上没有任何用途。为什么我们要检查复选框是否被选中...只是将其值设置为true?我鼓励 OP 对这个问题提出一些澄清,因为到目前为止我还不确定预期的结果是什么。

您也不需要三元语句,因为结果checked是布尔值。


推荐阅读