首页 > 解决方案 > 如何检查数组中的项目?

问题描述

我有一个输入字段,员工可以在其中输入一个或多个客户编号,当他们点击按钮时,它将获取输入字段的值,并将值放入数组中,然后将数据发布到控制器,最后它将检索一些基于数据客户编号给员工。

假设员工输入以下客户编号: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);


    }

谁能帮助我或指出我正确的方向?!:)

标签: javascriptc#jqueryasp.net-mvc

解决方案


我不是 JavaScript 人,所以我不能给你一个代码示例,但如果我理解正确,你会收到customer number数据库中存在的每个客户的数据。

如果是这样,例如,您可以client numbers从响应中提取并减去数字集合 ( providedNumbers - numbersFromResponse)。您将得到的将是响应中不存在的客户编号集合。

检查此问题以了解如何在 JavaScript 中进行减法运算。您还可以使用Underscore.js中的.difference() 。


推荐阅读