2012-09-14 56 views
0

我在一個組中有4個單選按鈕,比如說1,2,3,4以及radiobutton1,還有兩個輸入文本框。 當我選擇單選按鈕1那麼這些文本框啓用,但在選擇單選按鈕2,3,4 - 文本框被禁用。 選擇單選按鈕2,3,4並禁用文本框後,如果選擇返回單選按鈕1,則應啓用文本框。 ,默認情況下,單選按鈕1(加載網頁第一次)與文本框一起選擇啓用使用jQuery點擊不同的單選按鈕啓用/禁用文本框

這是一個使用Razor視圖引擎

@Html.RadioButtonFor(m => m.Search, "rb1", new { Checked = "true", id = "1" })radio 1 
<td>@Html.TextBoxFor(m => m.textbox1, new { style = "width:11%" }) 
<td>@Html.TextBoxFor(m => m.textbox2, new { style = "width:11%" }) 
@Html.RadioButtonFor(m => m.Search, "rb2", new { id = "2" })radio 2 
@Html.RadioButtonFor(m => m.Search, "rb3", new { id = "3" })radio 3 
@Html.RadioButtonFor(m => m.Search, "rb4", new { id = "4" })radio 4 

我需要做的是寫在MVC3我的HTML代碼在最小代碼行中使用jquery。有什麼建議麼?

+0

這將是容易得多,如果你能證明的標記,它已經被解析 – billyonecan

+0

後,其實我是新來這個網站,所以不知道你們怎麼發佈HTML,JS代碼要不然我打算上傳現有屏幕的屏幕打印,但我無法這樣做:( – PushRa

+0

只需在瀏覽器中查看頁面並查看源代碼,然後將其粘貼到此處 – billyonecan

回答

2
 $("#r1").click(function() { 
       $(".myText").attr("disabled", false); 
      }); 

      $(".disableText").click(function() { 
       $(".myText").attr("disabled", true); 
      }); 

HTML:

<input type="radio" name="r" id="r1" /> 
<input type="radio" name="r" id="r2" class="disableText" /> 
<input type="radio" name="r" id="r3" class="disableText" /> 
<input type="radio" name="r" id="r4" class="disableText" /> 
<input type="text" id="t1" class="myText" disabled="disabled" /> 
<input type="text" id="t2" class="myText" disabled="disabled" /> 
+0

我修改了我的問題,如果您可以重新訪問並回答它,那將會非常棒。提前致謝。 – PushRa

1

jQuery的

$('input[type="radio"]').click(function() { 
    if($(this).index() == 0) { 
     $('input[type="text"]').removeAttr('disabled'); 
    } else { 
     $('input[type="text"]').prop('disabled', 'disabled'); 
    } 
}); 

HTML

<input type="radio" name="group" /> 
<input type="radio" name="group" /> 
<input type="radio" name="group" /> 
<input type="radio" name="group" /> 

<input type="text" disabled="disabled" /> 
<input type="text" disabled="disabled" /> 
0

HTML

<div id="radioContainer"> 
    <input type="radio" name="r" id="r1" /> 
    <input type="text" id="t1" disabled="disabled" /> 
    <input type="text" id="t2" disabled="disabled" /><br /> 
    <input type="radio" name="r" id="r2" /> 
    <input type="radio" name="r" id="r3" /> 
    <input type="radio" name="r" id="r4" /> 
<div> 

JS

// only one handler is attached to DOM 
$("#radioContainer").click(function(e){ 
    var $t = $(e.target), $inputs = $(this).find('input'); 
    if($t.is('input[name="radios"]')) 
     $inputs.filter('[type="text"]').get(0).disabled = ($t.attr('id') == 'r1' ? false:true); 
    }); 
相關問題