首页 > 解决方案 > 如何将forEach值与jquery中选定的下拉值进行比较

问题描述

var externalData = [{ "sedesc": "TAX 1040-2000" },
                    { "sedesc": "TAX 1040-2005" }
                   ];
      var extData;      
   externalData.forEach(function (data) {
      console.log(data.sedesc)
      extData = data.sedesc
   })
onApprove: function(){
if ($('#extservicecode option:selected').text() === extData ) {
       alertify.error("Duplicates are not allowed");                              
   }
}}

这是我的jQuery代码。我有一个下拉列表($('#extservicecode option:selected').text()),如果我选择上面的任何值,"data.sedesc"它应该会显示一条错误消息。我需要将所选值与已经存在的值进行比较。

更新

externalData.forEach(function (data) {
                console.log(data.Scdesc)
                duplicatedData = data.Scdesc
            })
if ($('#extservicecode option:selected').text() === duplicatedData) {
        alertify.error("Duplicates are not allowed");                              
    } 

标签: javascriptjqueryhtml

解决方案


获取更改值,然后将所选值与数组中的值进行比较。

$('button').on('click', function() {
  const value = $('#extservicecode option:selected').text();

  externalData.forEach(function (data) {
      if (value === data) {
        // duplicate value found
      }
  });
});

按照你的onApprove方法

onApprove: function(){
  // Get the dropdown value
  const duplicateData = null;
  const value = $('#extservicecode option:selected').text();

  // iterate over external data
  externalData.forEach(function (data) {
    // check if dropdown value has one of the duplicate value
    if (value === data) {
      duplicateData = data;
      // duplicate value found
     }
  });

  // duplicateData can be used here
  // dropdown value is valid
}

推荐阅读