대시 코드에서 프로그래밍 방식으로 팝업 메뉴 값을 설정하는 방법

StackOverflow https://stackoverflow.com/questions/2071481

  •  20-09-2019
  •  | 
  •  

문제

프로그래밍 방식으로 대시 코드에서 팝업 메뉴의 값을 설정하려고합니다. 정적으로 정의 된 기본 기본값 (검사관)의 텍스트/값을 변경할 수는 있지만 추가하거나 제거 할 수는 없습니다. 보기가 초기화되면 가변 수의 옵션이 필요합니다.

    var popup = document.getElementById('popup');
    //popup.options = []; /* Doesn't clear the list */
    //popup.options.length = 0; /* Doesn't clear the list */
    popup.options[0].text = "Option 1";
    popup.options[0].value = "123";

목록을 어떻게 수정할 수 있습니까? (lmgtfy 답변은 필요하지 않습니다 :)

도움이 되었습니까?

해결책

나는 결국 이렇게 해결했다 :

//remove all
if (popup.hasChildNodes()) {
    while (popup.childNodes.length >= 1) {
        popup.removeChild(popup.firstChild);       
    }
}

//add new
$.each(items, function(i, item) {
    var option = document.createElement("option");
    option.text = item.name;
    option.value = item.id;
    popup.appendChild(option);      
});

다른 팁

찌르기 만했지만 전체 팝업을 JavaScript로 구축하고 매개 변수를 전달하여 드롭 다운 / 팝업에 항목 수를 설정할 수 없었습니다. 그런 다음 항목을 변경하려면 새 매개 변수로 JavaScript를 호출 할 수 있습니까?

아니면 그 질문을 오해했습니다.

팝업 메뉴 항목을 동적으로 비슷하게 바인딩하려고 할 때 팝업 메뉴 항목에 할당 할당 값이 정확하지만 팝업에 항목이 표시되지 않습니다.

내가 놓친 것이 있습니까? 내 코드는 다음과 같습니다.

var ddlcurrencyCode = document.getElementById ( 'ddlCurrencyCode'); if (ddlcurrencyCode.haschildNodes ()) {while (ddlCurrencyCode.childNodes.length> = 1) {ddlcurrencyCode.RemoveChild (ddlCurrencyCode.FirstChild);
} }

for (var i = 0; i <result.rows.length; ++ i) {var row = result.rows.item (i);
var ddlitem = document.createElement ( "ddlitem"); ddlitem.text = row [ 'key']; ddlitem.value = row [ 'value']; ddlcurrencycode.appendChild (ddlitem);
}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top