2011-12-15 3 views
1

내 asp.net mvc 응용 프로그램 내에서 라디오 단추 목록을 생성하고 라디오 단추를 클릭하면 JavaScript 메서드를 호출하려고합니다. 생성 된 HTML 라인은 다음과 같습니다IE 변경 asp.net mvc

@Html.RadioButton("selectedArticleMediaAsset", value, new { onClick = "loadData()"}) 

:

은 면도기 코드 라인이다 파이어 폭스 & 크롬 모두에서
<input name="selectedArticleMediaAsset" id="selectedArticleMediaAsset" onclick="loadData()" type="radio" value="../../Content/Images/Bilder_640x640/O20130_XC6_F_Rot_1.jpg|Detailbild 1"/> 

잘, 단지 Internet Explorer가 만드는 문제 때문에 실행중인

onclick 메서드는 onclick에 소문자 c와 함께 생성됩니다. IE 개발자 도구로 이것을 변경하면 작동합니다.

올바른 아이디어를 생성하는 방법은 무엇입니까? 사전에

감사합니다,

+0

onclick은 대소 문자를 구분하지 않아야합니다. 새로운 {onclick = "loadData()"}를 시도 했습니까? – danludwig

+0

소문자 'c'가있는 'onclick'은 [HTML 표준] (http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#handler-onclick)에 따라 정확합니다. . 그러므로 "문제"에 대해 구체적으로 설명하십시오. IE에서 'onclick'이 작동해야합니다. –

+0

onclick으로 시작했지만 Firefox와 Chrome에서 제대로 작동했습니다. IE에서 테스트 중이며 이번에는 작동하지 않습니다. 하지만 흥미로운 점은 개발자 툴에서 onClick을 onClick으로 변경하면 잘 작동한다는 것입니다. – Thomas

답변

1

당신이 HTML 속성 대신에 jQuery를 사용하여 생각 해 봤나?

@Html.RadioButton("selectedArticleMediaAsset", value) 

<input name="selectedArticleMediaAsset" id="selectedArticleMediaAsset" 
    type="radio" 
    value="../../Content/Images/Bilder_640x640/O20130_XC6_F_Rot_1.jpg|D..."/> 

$(function() { 
    $('#selectedArticleMediaAsset').click(function() { 
     loadData(); 
    }); 
}); 
+0

안녕하세요, 내가 jQuery를 사용할 때 작동합니다. 하지만 처음 만 페이지에 표시된 라디오 버튼 중 하나를 사용합니다. – Thomas

+0

이제 jQuery의 문제는 첫 번째 radioButton에만 click 기능이 부여되었다는 것입니다. 하지만 jQuery의 각 함수를 사용하면 제대로 작동합니다. – Thomas