ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 이 속성 제목을 사용하여 다중 선택에서 placeholder를 설정할 수 없습니다.
    카테고리 없음 2020. 8. 10. 13:11

    질문

    내 웹 사이트에서 jquery multiselect를 사용하여 선택 항목을 멋진 dropdown으로 표시했습니다. 어떤 이유로 속성 / 또는 선택에 추가 된 데이터를 사용하여 다중 선택 placeholder를 설정할 수 없습니다. 정적 텍스트는 작동하지만 동적 placeholder 이름을 전달해야합니다. Html은 다음과 같습니다.

    <select multiple="multiple" class="filter_select" id="front_type_filter" data-translation="Typ frontu" title="test123" name="front_type">
    <option value="1">Płyta laminowana</option>
    <option value="2">Płyta MDF foliowana</option>
    <option value="3">Płyta MDF lakier</option>
    <option value="4">Płyta MDF akryl</option>
    <option value="5">Płyta fornirowana</option>
    </select>

    그리고 js는 multiselect를 호출합니다.

     $('.filter_select').multiselect({
        texts: {
                placeholder: $(this).attr('title'),
        },
    });

    페이지에는 제목 / 데이터 번역 필드가 다른 동일한 class의 여러 선택 항목이 있습니다. 위젯 자체는 작동하지만 빈 placeholder가 있습니다.

    여기에 이미지 설명 입력

    여기에 이미지 설명 입력

    $(this).data('translation') - 같은 효과로 - placeholder가 없습니다. 나를 위해 한 가지만 효과가 있었지만 문제가 발생했습니다 - $( "# someId").data('translation') - 사용하지 않고 호출하지만 전혀 동적이 아닙니다.

    작동하지 않는 이유가 있습니까? 도움을 주셔서 감사합니다!

     

    답변1

    문제는 this 가 현재 .filter_select 요소가 아니라 설정 객체의 외부 범위를 참조하기 때문입니다. 이 문제를 해결하려면 each () 를 사용하여 요소를 명시적으로 반복하고 요소에서 title 속성을 읽을 수 있습니다.

    $('.filter_select').each(function() {
      $(this).multiselect({
        texts: {
         placeholder: this.title, // or $(this).prop('title'),
        },
      });
    });



     

     

     

     

    출처 : https://stackoverflow.com/questions/63246280/cant-set-placeholder-in-multiselect-using-this-attr-title

    댓글

Designed by Tistory.