2012-09-18 2 views
0

나는 간단한 계단식을 수행하기 위해 정말로 싸우고 있습니다 DropDown. 나는 아주 기본적인 예제를하고 있지만, 실패하고있다. 그래서 나는 기초로 바로 가서 eventscontrols에 묶이는 방법을보기 위해 노력하고 있습니다.드롭 다운 변경시 이벤트가 발생하려고합니다

<script type="text/javascript"> 
$(document).ready(function() { 

    $('#CarMakeId').change(function() { 
     alert("khsdhf") 
    }); 
}) 
</script> 

    <html> 
    <head> 
     <title>Index</title> 
    </head> 
    <body> 
     <div> 
      Make: @Html.DropDownListFor(x=>x.CarMakeId, 
        new SelectList(Model.CarMakes, "Value", "Text"), 
        "-- select make --") <br /> 
      Model: @Html.DropDownListFor(x=>x.CarModelId, 
        new SelectList(Model.CarModels, "Value", "Text"), 
        "-- select model --")   
     </div> 
    </body> 
    </html> 

내가 그것을 지금,하고 싶은 모든, 나는 아래로 내 드롭 선택을 변경할 때 저를 경고입니다 :

나는이 있습니다. 하지만 난 Java Script에서 " "Object expected을 얻고있다

다음

이 렌더링 된 HTML이다.

<!DOCTYPE html> 
<script type="text/javascript"> 
    $(document).ready(function() { 

     $('#CarMakeId').change(function() { 
      alert("khsdhf"); 
     }); 
    }) 
</script> 
<html> 
<head> 
    <title>Index</title> 
</head> 
<body> 
    <div> 
<form action="/" method="post">   <p> 
      Make: <select data-val="true" data-val-number="The field CarMakeId must be a number." data-val-required="The CarMakeId field is required." id="CarMakeId" name="CarMakeId"><option value="">-- select make --</option> 
<option value="1">BMW</option> 
<option selected="selected" value="2">Ford</option> 
<option value="3">Toyota</option> 
</select> 
      <br /> 
      Model: <select data-val="true" data-val-number="The field CarModelId must be a number." data-val-required="The CarModelId field is required." id="CarModelId" name="CarModelId"><option value="">-- select model --</option> 
<option value="5">Mustang</option> 
<option selected="selected" value="6">Territory</option> 
<option value="7">Focus</option> 
</select> 
     <br /> 
     <input type="submit" name="Submit" title="Submit" /> 
     </p> 
</form> </div> 
</body> 
</html> 

추가 정보 :

이 같은 오류주고있다 :

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("Hello"); 
    }) 
</script> 
+0

자바 스크립트를 document.ready에 넣으십시오. –

+0

업데이트되었지만 여전히 동일한 문제입니다. – Craig

+2

드롭 다운에 대해 생성 된 HTML은 무엇입니까? ID CarMakeId입니까? 게시 할 수 있습니까? 또한 jQuery를로드 했습니까? – dpp

답변

0

에 시도를 $(document).ready을 추가하여 이벤트 처리기를 추가하기 전에 드롭 다운이 있는지 확인하십시오.

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#CarMakeId').change(function() { 
     alert("khsdhf") 
    }); 
}); 
</script> 

ready DOM로드시 실행됩니다. Read more here http://api.jquery.com/ready/

0

페이지에서 자바 스크립트 오류를 ​​검사하십시오. 세미콜론이 누락 될 수 있습니다. alert() 행의 마지막에. IE9의 'Developer Tools'또는 Firefox의 'Firebug'를 사용하여 디버그 할 수도 있습니다.

+0

에는 성가 시지만 때로는 유용한 옵션 인 "페이지의 모든 오류가 발생할 때마다 알림 표시"옵션이 있습니다. – hagensoft

0

문제는 제가 JQuery 스크립트 링크를 가지고 있지 않다는 것입니다.

<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script> 
관련 문제