将多个复选框值保存到 sql 数据库
Save multiple checkbox values to sql database
我有一个 html 表单,里面还有复选框。复选框的值来自 SQL-数据库,通过 Web Api。
$(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)。
我还没有找到所有其他输入字段也需要保存的解决方案,只有复选框和按钮的解决方案。另外,我的值来自数据库,而不是 "hard-coded" 选项。
我试过这个:
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 从函数到 属性 的数据。因此,在函数中添加一条 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...
});
我建议 return 从函数中获取纯 materialArray
数组,然后在 AJAX 请求中将其发送到 WebAPI 端点。这样你就可以将它模型绑定到 string[]
或 IEnumerable<string>
,这样更容易使用。
我有一个 html 表单,里面还有复选框。复选框的值来自 SQL-数据库,通过 Web Api。
$(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)。
我还没有找到所有其他输入字段也需要保存的解决方案,只有复选框和按钮的解决方案。另外,我的值来自数据库,而不是 "hard-coded" 选项。
我试过这个:
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 从函数到 属性 的数据。因此,在函数中添加一条 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...
});
我建议 return 从函数中获取纯 materialArray
数组,然后在 AJAX 请求中将其发送到 WebAPI 端点。这样你就可以将它模型绑定到 string[]
或 IEnumerable<string>
,这样更容易使用。