2011-11-28 101 views
0

文本框我有此視圖動態顯示關於選擇的單選按鈕

@if (@Model.QuestionType == 2) 
{ 
<div data-role="fieldcontain"> 
    @using (Html.BeginForm("SaveRadio", "GetQuestion", Model)) 
    { 
     @Html.AntiForgeryToken() 
     <fieldset data-role="controlgroup"> 
      <label id="l2" for="select-choice-1" class="select">@Model.QuestionText 
      </label> 
      <br /> 
      @foreach (var item in Model.Options) 
      { 

       if (@item.OptionText == "Other") 
       { 
        <input type="radio" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" onclick="selectRadio(@Model.QuestionNo);" /> 
        <input type="text" id="@(Model.QuestionNo)_rtxt" style="visibility:hidden;" /> 
       } 
       else 
       { 
        <input type="radio" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" /> 
       } 

       <label for="@item.OptionText"> 
        @item.OptionText</label> 
      } 
      <br /> 
     </fieldset> 
     <p> 
      <input type="submit" id="radio_textsubmit" value="Next" /> 
     </p> 
    } 
</div> 
} 

當我選擇包含一個單選按鈕其他文本框應該被顯示。 默認情況下它隱藏。

我寫的JS作爲

 function selectRadio(radio) { 
     alert(radio); 
    } 

其未燒製selectRadio事件都沒有。我是否需要將它放在窗體中?

我在做MVC3。它的解決方案是什麼。

有幫助嗎?

謝謝。

+0

你是什麼意思包含「其他」是什麼意思? – ipr101

回答

0

您需要在單選按鈕的鼠標單擊事件上觸發jquery事件。 這裏是jQuery代碼

$(document).ready(function() { 
     $("#radioButtonID").click(function (e) { 
      var radioButtonID = $("#radioButtonID").val(); 

      if (radioButtonID == 1) { 
       $("#TextBoxId").css("visibility","visible"); 
      } 
      else{ 
       $("#TextBoxId").css("visibility","hidden"); 
      } 

這將幫助你

+0

根據您的要求更改jquery代碼。如果您需要任何幫助,請聯繫我。 – user1006544