2011-10-31 7 views
0

옵션이 정의되지 않았다는 오류가 발생합니다. 드롭 다운이 표시되지만 어떤 이유로 액세스 할 수 없습니다.정의되지 않은 드롭 다운 옵션

dropdown.options는 정의되지 않았습니다. [Break On This Error] dropdown.options.length = ObjectCount (equtypeList);

$(dropdown).show(); // this works 

if (ObjectCount(equipmentTypeList) > 1) 
{ 
    $(dropdown).attr("disabled", false); //this works 
    dropdown.options.length = ObjectCount(equipmentTypeList); //bombs out here saying options is null...wtf?? 
    AddDropdownOption("-- Select Equipment Type--", "-1", dropdown.id); 
} 

그래서 알 수 없습니다. dropdow를 reshow하면, 왜 option 속성에 접근 할 수 없습니까 (사용할 수 없기 때문에 null 임). 분명히 그 페이지에 드롭 다운이 다시 나타나는 것을 볼 수 있습니다 ... 그러나 옵션 속성이 없습니까? 그건 그냥 옵션이 속성에 대한 null을 얻을 것 같지 않습니다. 활성화되어 다시 나타나면 유효한 드롭 다운이며 agani에 항목을 추가 할 수 있어야합니다.

+0

'드롭 다운'이란 무엇입니까? 이전에 정의한 변수입니까? –

+0

var ddlEquipType = $ ('# <% = ddlEquipType.ClientID %>'); – PositiveGuy

+0

필자는이 작업을하기 전에 ... 옵션 배열의 길이를 지정하기 전에 값을 추가하기 만하면됩니다. 이전에 잘 작동 했었는데 ...이 드롭 다운을 숨기고 표시하기 전에. 나가 그것을 보여주고 무능하게하거나 가능하게 할 때 그것을 잘 작동했다. 이제는 숨기고 표시하기 시작한 것입니다. 옵션 배열 길이를 설정할 수있는 기능이 없으면 문제가 발생합니다. – PositiveGuy

답변

1

dropdown$()을 호출하여 얻은 jQuery 객체이기 때문입니다. jQuery 객체는 options 속성을 노출하지 않으며 기본 DOM 요소가 제공합니다.

dropdown[0].options.length = ObjectCount(equipmentTypeList); 
// or 
dropdown.get(0).options.length = ObjectCount(equipmentTypeList); 

당신은 또한 옵션을 포함하는 다른 jQuery를 개체를 만들 수있다 : 다음 length에 할당, 그러나

$("option", dropdown).length = ObjectCount(equipmentTypeList); 
// or 
dropdown.find("option").length = ObjectCount(equipmentTypeList); 

당신은 인덱싱 구문 또는 DOM 요소를 얻기 위해 get() 방법을 사용할 수 있습니다 jQuery 객체의 속성은 DOM에 아무런 영향을 미치지 않으므로이 방법은 예상 한 결과를 얻지 못할 수도 있습니다.

+0

그 문제를 해결해 주셔서 감사합니다. 지금은 의미가 있습니다 ... 객체에 대한 jQuery 포인터가 더 이상 실제 객체가 아니라는 것을 알았습니까? 내가 드롭 다운 컨트롤을 가리키고 있다는 의미는 그 웹 컨트롤을 다루지 않아야한다는 것입니다. – PositiveGuy

+0

getElementByID를 사용하여 드롭 다운 포인터를 가져 와서 변수에 설정하면 코드가 올바르게 작동합니다. jQuery가 중요한 이유를 이해할 수 없습니다. 나는 jQuery 방법을 사용하고있다. 비록 $() 방법을 사용하고있을지라도 같은 방법으로 항목을 가져 오는 것이 좋을까? – PositiveGuy

+0

jQuery 객체는 포인터보다 래퍼입니다. jQuery는 다른 툴킷처럼 DOM 요소를 보강하지 않지만 래핑 된 요소에 적용 할 수있는 메서드를 제공합니다. id로 원소를 선택하고 그 원소를 얻으려면,'$ ("id #) [0]'와 같은 것을 할 것입니다. –

관련 문제