source

JQuery에서 선택한 옵션이 이미 있는지 확인하려면 어떻게 해야 합니까?

nicesource 2023. 10. 26. 21:14
반응형

JQuery에서 선택한 옵션이 이미 있는지 확인하려면 어떻게 해야 합니까?

JQuery에서 선택한 옵션이 이미 존재하는지 확인하려면 어떻게 해야 합니까?

선택에 옵션을 동적으로 추가하고 싶으므로 중복을 방지하기 위해 옵션이 이미 존재하는지 확인해야 합니다.

이미 존재하는 경우 true로 평가합니다.

$("#yourSelect option[value='yourValue']").length > 0;

jQuery를 사용하는 또 다른 방법:

var exists = false; 
$('#yourSelect  option').each(function(){
  if (this.value == yourValue) {
    exists = true;
  }
});
if ( $("#your_select_id option[value=<enter_value_here>]").length == 0 ){
  alert("option doesn't exist!");
}
var exists = $("#yourSelect option")
               .filter(function (i, o) { return o.value === yourValue; })
               .length > 0;

이렇게 하면 자동으로 값이 빠져나가기 때문에 텍스트의 임의 따옴표를 다루기가 훨씬 쉬워집니다.

대부분의 다른 답변이 저에게 적합했지만 .find():

if ($("#yourSelect").find('option[value="value"]').length === 0){
    ...
}

작동하지 않습니다. 이 작업을 수행해야 합니다.

if ( $("#your_select_id option[value='enter_value_here']").length == 0 ){
  alert("option doesn't exist!");
}

저도 비슷한 문제가 있었습니다.선택 컨트롤에 대한 루프를 통해 매번 돔을 통해 검색을 실행하는 대신 jquery select 요소를 변수에 저장하고 다음 작업을 수행했습니다.

function isValueInSelect($select, data_value){
    return $($select).children('option').map(function(index, opt){
        return opt.value;
    }).get().includes(data_value);
}

도움이 됩니다.

  var key = 'Hallo';

   if ( $("#chosen_b option[value='"+key+"']").length == 0 ){
   alert("option not exist!");

    $('#chosen_b').append("<option value='"+key+"'>"+key+"</option>");
    $('#chosen_b').val(key);
   $('#chosen_b').trigger("chosen:updated");
                         }
  });

언급URL : https://stackoverflow.com/questions/646317/how-can-i-check-whether-a-option-already-exist-in-select-by-jquery

반응형