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");
    }

最佳答案

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

$('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
}

09-19 10:41