2012-02-10 4 views
2

ASP MVC 3을 사용하여 양식을 만들고 웹 개발뿐만 아니라 ASP.NET MVC에도 새로운 기능을 제공합니다.드롭 다운 메뉴의 선택에 따라 MVC3 잠금 텍스트 상자

사용자는 드롭 다운 메뉴에서 주어진 질문 중 하나를 선택하거나 자신의 글을 쓸 수 있습니다.

내가 뭘 하려는지는 사용자가 이전에 드롭 다운 메뉴에서 질문을 선택했을 때 사용자가 질문을 입력 할 텍스트 필드를 차단하는 것입니다.

JavaScript를 사용할 수도 있고 MVC를 사용할 수도 있습니다 (MVC 코드를 사용하고 싶지만 자바 스크립트도 사용할 수 있습니다).

<tr> 
<td width="40%" height="31"> 
<div align="right"><strong>Security question:</strong></div> 
</td> 
<td width="60%" height="31"> 
@Html.DropDownListFor(m => m.PickSecretQuestion, new[] { 

    new SelectListItem() { Text = "---select a question --- or create your own below --", Value = "createNew"}, 
    new SelectListItem() { Text = "Mother's Maiden Name?", Value = "Mother's Maiden Name?"}, 
    new SelectListItem() { Text = "Father's Middle Name?", Value = "Father's Middle Name?"}, 
    new SelectListItem() { Text = "What High School did you attend?", Value = "What High School did you attend?"}, 
    new SelectListItem() { Text = "First company you worked for?", Value = "First company you worked for?"} 

    } 
    </td> 
    </tr> 

    <tr> 
    <td width="40%" height="31"> 
    <div align="right"><strong>Or create one here:</strong></div> 
    </td> 
    <td width="60%" height="31"> 
     @Html.TextBoxFor(m => m.SecretQuestion) 
     <span style="color:Red"> @Html.ValidationMessageFor(m => m.SecretQuestion </span> 
    </td> 
    </tr> 

답변

0

이것은 확실히 jQuery를 훨씬 쉽다. 여기에 내가 이것에 대해 갈 것 방법은 다음과 같습니다

$('#yourDropDownId').change(function() { 
    if ($(this).attr('selectedIndex') == 0) 
     $('#yourTextBoxId').attr('disabled', 'disabled'); 
    else 
     $('#yourTextBoxId').removeAttr('disabled'); 
}); 

이 정말 서버로 여행을 만드는 대신 클라이언트에 처리되어야 논리입니다. 을 jQuery의 힘과 단순성을 활용하는 것이 분명합니다.

보기에서 htmlAttributes 개체를 도우미 메서드로 사용하여 DOM 요소에 대해 id을 설정할 수 있습니다. TextBoxFor()에 대한 변경 사항은 다음과 같습니다. 이렇게하면 id이 "yourTextBoxId"로 설정됩니다.

@Html.TextBoxFor(m => m.SecretQuestion, new { id = "yourTextBoxId" }) 
+0

이것은 내가 내가 @ 기호 후 ID의 어딘가를 추가해야 가정입니다 (MVC의 요소에 ID 년대를 할당 어떻게 바보 같은 질문을 수 있습니다. – Salva

+0

을 내'TextBoxFor의 두 번째 매개 변수를 참조하십시오 user1144347 @() '위의 메소드를 사용하면 HTML 속성에 속성을 설정할 수있는 객체가 있습니다. 예를 들어, HTML id는 id 속성입니다. –

+0

@ user1144347이 질문에 대한 답변을 얻었습니까? –

관련 문제