javascript - 如何检查数组中的项目?
问题描述
我有一个输入字段,员工可以在其中输入一个或多个客户编号,当他们点击按钮时,它将获取输入字段的值,并将值放入数组中,然后将数据发布到控制器,最后它将检索一些基于数据客户编号给员工。
假设员工输入以下客户编号:10883,10886,10888
然后它将值放入数组中:items[10883,10886,10888]
它将仅检索数据:10883,10886
如您所见,没有以下数据:10888
她是我的问题,当数据检索给员工时,我该如何做一个条件来检查并查看是否有一个客户号码告诉员工的数据,例如:。没有数据10888
HTML:
<label>Enter Customer number</label>
<input name="CustomerNumber" id="CustomerNumber">
<button type="button" onclick="BtnAddCustomers();">Add</button>
JavaScript:
function BtnAddCustomers() {
var holderHTML = '';
var items = [];
items = $("#CustomerNumber").val().split(",");
$.ajax({
type: "GET",
url: "/User/GetCustomerContactInfo",
data: { ids: items },
traditional: true,
dataType: 'json',
success: function (values) {
for (var i = 0; i < values.length; i++) {
value = values[i]
if (value != null) {
holderHTML += '<tr id="row' + value.CustomerNo + '">';
holderHTML += '<td><input type="text" id="NameOfCompany" name="[' + i + '].NameOfCompany" value="' + value.NameOfCompany + '" /></td>';
holderHTML += '<td><input type="text" id="CustomerNo" name="[' + i + '].CustomerNo" value="' + value.CustomerNo + '" /></td>';
holderHTML += '</tr>';
}
$('#output').html(holderHTML);
}
}
})
};
控制器:
[HttpGet]
public JsonResult GetCustomerContactInfo(string[] ids)
{
var CustomerContactInfo = db.SomeTable
.Join(db.SomeTable, v => v.No_, g => g.No_, (v, g) => new { g, v })
.Select(t => new CreateCustomers
{
CustomerNo = t.v.No_,
NameOfCompany = t.g.Name,
})
.Where(s => ids.Contains(s.CustomerNo))
.ToList();
return Json(CustomerContactInfo, JsonRequestBehavior.AllowGet);
}
谁能帮助我或指出我正确的方向?!:)
解决方案
我不是 JavaScript 人,所以我不能给你一个代码示例,但如果我理解正确,你会收到customer number
数据库中存在的每个客户的数据。
如果是这样,例如,您可以client numbers
从响应中提取并减去数字集合 ( providedNumbers - numbersFromResponse
)。您将得到的将是响应中不存在的客户编号集合。
检查此问题以了解如何在 JavaScript 中进行减法运算。您还可以使用Underscore.js库中的.difference() 。
推荐阅读
- amazon-web-services - 如果 AWS ElastiCache Redis 内存已满,会发生什么?
- python - flake8 - 带有 python3 元类参数的 E999 语法错误
- node.js - 如何在nodejs中编写复杂的json格式
- elasticsearch - 弹性搜索。基于文档字段的动态评分
- php - 使用 AJAX 在 SQL 查询中获取按钮的 id
- three.js - 如何使用 ThreeJS 中的 GLTFLoader 渲染在 Blender 中创建的模型?
- flutter - 当用户将指针移动到颤振中的新小部件时如何捕获指针更新
- c# - Visual Studio 会生成,但 msbuild 不会。
- c# - WebApi Environment.NewLine 不工作
- c# - 从 .txt 加载字符串并在 VisualStudio 的 webBrowser 中显示 HTML 文件