jquery - 将多个复选框值保存到 sql 数据库

标签 jquery html sql checkbox asp.net-web-api2

我有一个 html 表单,其中也有复选框。复选框的值通过 Web Api 来自 SQL 数据库。

$(document).ready(function () {
  var $MaterialName = $('#materiallist');  

  function addMaterials(material) {
    $MaterialName.append('<input type="checkbox" >' + material.MaterialName + ' </input>');
  }
<div class="form-group">
  <label for="material" class="col-xs-3 control-label header">Käytetyt materiaalit</label>
  <div class="col-xs-7">
    <div class="checkbox" id="materiallist"></div>
  </div>
</div>            

我想将这些选中的值与该表单中的其他输入值一起保存到另一个 SQL 数据库(名为 Form)。

我还没有找到还需要保存所有其他输入字段的解决方案,只有复选框和按钮的解决方案。此外,我的值来自数据库,而不是“硬编码”选项。

我试过这个:

function getCheckedMaterials() {
  var materialArray = [];
  $("#materiallist input:checked").each(function () {
    materialArray.push($(this).val());
  });
  var selected;
  selected = materialArray.join(',');
  alert("You have selected " + selected);
}

这不符合我的需要,因为我无法获取值。

当我按下 #tallenna 按钮时,来自其他输入字段的所有这些值都会进入表单数据库。我需要将选中的值作为文本保存在 MaterialName 中。

$('#tallenna').click(function () {
  var form = {
    FormFiller: $FormFiller.val(),
    CustomerContact: $CustomerContact.val(),
    ReadyToDate: $ReadyToDate.val(),
    Instructions: $Instructions.val(),
    Amount: $Amount.val(),
    PcsAmount: $PcsAmount.val(),
    ChargeFull: $ChargeFull.val(),
    ChargeByPcs: $ChargeByPcs.val(),
    FreightCost: $FreightCost.val(),
    CustomerName: $CustomerName.val(),
    WorkName: $WorkName.val(),
    MaterialName: getCheckedMaterials // ???? 
  };

最佳答案

您似乎在询问如何将数据从函数返回到属性。因此,添加 return函数中的语句,并通过添加 () 从属性中调用它在函数名称的末尾,像这样:

function getCheckedMaterials() {
  var materialArray = $("#materiallist input:checked").map(function () {
    return this.value;
  }).get();
  return materialArray.join(',');
}

$('#tallenna').click(function (e) {
  e.preventDefault();
  var form = {
    // other properties...
    MaterialName: getCheckedMaterials()
  };

  // send 'form' in an AJAX request here...
});

我建议返回普通的 materialArray函数中的数组并将其在您的 AJAX 请求中发送到您的 WebAPI 端点。这样你就可以将它模型绑定(bind)到 string[]IEnumerable<string>这使得它更容易使用。

关于jquery - 将多个复选框值保存到 sql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57672990/

相关文章:

iphone - 在 UIWebView 中注释文本

Javascript Slider 在过渡结束时无法正常工作

javascript - 如何以全高和可变宽度居中图像

sql - 是否可以创建从 "horizontal"到 "vertical"的 sql View

javascript - JqG​​rid 更新特定行

javascript - $.each 迭代之间暂停 5 秒

java - 在 Java 或 C++ 等编程语言中有效地模拟 SQL group by 子句,而不是求助于 RDBMS

php - 如何在SQL中对分组结果求和

javascript - Ajax 调用 perl 脚本

javascript - 您最喜欢的用于在网络上创建工具提示的 JavaScript 库/脚本是什么?