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


221

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

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

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


이것은 잘 작동합니다 : $('select').children('option[value="X"]').remove();
劉鎮 瑲

답변:


451

이 시도:

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

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

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

1
이것은 나를 위해 일했습니다. 감사. 선택한 값 = ''.ct로 이것을 제한하는 구문은 무엇입니까?
user135498

2
값을 알 필요가없는 경우 가장 쉽습니다. 예를 들어 첫 번째 옵션 $ ( "# affiliate") [0] [0] .remove ();
ladieu

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

아니면 그냥

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

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


5
+1이 답변이 마음에 듭니다. 'X'를 valuefor 또는 <select>element의 일부로 테스트 할 수 있기 때문에 더 좋습니다.
shareef

1
나는 내가 사용 = 0 발 이외의 모든 옵션을 제거해야으로이 답변을 사용 = 0과 : 마법처럼 일했다!
락스 Pilaka에게

31

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

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

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

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


1
변수에 변수를 전달하는 경우에 훨씬 좋습니다
Neurothustra

3

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

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

1

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

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

1

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

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

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


1

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

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

1

찾기를 사용하여 목록을 반복하고 여러 항목을 제거합니다. 응답은 정수 배열을 포함합니다. $ ( '# OneSelectList')는 선택 목록입니다.

$.ajax({
    url: "Controller/Action",
    type: "GET",
    success: function (response) {
        // Take out excluded years.
        $.each(response, function (j, responseYear) {
            $('#OneSelectList').find('[value="' + responseYear + '"]').remove();
        });
    },
    error: function (response) {
        console.log("Error");
    }
});
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.