[javascript] jQuery는 선택에서 옵션을 제거합니다

클래스 이름 ‘ct’가 모두 5 선택 된 페이지가 있습니다. onclick 이벤트를 실행하는 동안 각 선택에서 값이 ‘X’인 옵션을 제거해야합니다. 내 코드는 다음과 같습니다

$(".ct").each(function() {
    $(this).find('X').remove();
   });

내가 어디로 잘못 가고 있니?



답변

이 시도:

$(".ct option[value='X']").each(function() {
    $(this).remove();
});

더 간결 해지려면 다음과 같이 작동합니다.

$(".ct option[value='X']").remove();


답변

$('.ct option').each(function() {
    if ( $(this).val() == 'X' ) {
        $(this).remove();
    }
});

아니면 그냥

$('.ct option[value="X"]').remove();

요점은 find셀렉터 문자열 을 가져 와서 x이름이 지정된 요소를 찾는 것입니다 x.


답변

find()값이 아닌 선택자를 사용합니다. 즉, 일반 jQuery 함수 ( $('selector'))를 사용하는 것과 같은 방식으로 사용해야합니다 .

따라서 다음과 같이해야합니다.

$(this).find('[value="X"]').remove();

jQuery 찾기 문서를 참조하십시오 .


답변

옵션 태그 또는 텍스트 필드에서 작동합니다.

$("#idname option[value='option1']").remove();


답변

드롭 다운이 테이블에 있고 ID가 없으면 다음 jquery를 사용할 수 있습니다.

var select_object = purchasing_table.rows[row_index].cells[cell_index].childNodes[1];
$(select_object).find('option[value='+site_name+']').remove();


답변

jquery <1.8의 경우 다음을 사용할 수 있습니다.

$('#selectedId option').slice(index1,index2).remove()

선택 옵션의 특정 범위를 제거합니다.


답변

내가 제거했을 때 옵션은보기의 ddl에 남아 있지만 html에는 없었습니다 (페이지를 검사하는 경우)

$("#ddlSelectList option[value='2']").remove(); //removes the option with value = 2
$('#ddlSelectList').val('').trigger('chosen:updated'); //refreshes the drop down list