2012-09-14 57 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); 
    }); 
相关问题