Javascript 希望禁用一组字段,除非标记了单选按钮

Javascript 希望禁用一组字段,除非标记了单选按钮,javascript,jquery,conditional,hidden,Javascript,Jquery,Conditional,Hidden,我已将HTML/CSS/JS上传到: 我知道问题可能出在JS中,因为我几乎没有这方面的经验 $(function () { var $promised = $("input[name='RadioGroup1']"); $promised.each(function () { $(this).on("click", function () { $promised.each(function () { var

我已将HTML/CSS/JS上传到:

我知道问题可能出在JS中,因为我几乎没有这方面的经验

$(function () {
    var $promised = $("input[name='RadioGroup1']");
    $promised.each(function () {
        $(this).on("click", function () {
            $promised.each(function () {
                var textField = $(this).nextAll("input").first();
                if (textField) textField.prop("disabled", !this.checked);
            });
        });
    });
});

还有一个条件隐藏的元素需要处理。您将看到我在fiddle中的意思,无论何时属性“disabled”出现在标记中,输入字段都是禁用的,不管值设置为什么。你所能做的就是循环浏览USA部分中的所有输入元素并调用

.removeAttribute('disabled');
如果用户选择美国单选按钮

编辑:这样应该可以(只要您有JQuery)


$(函数(){
var$promisted=$(“输入[name='RadioGroup1']”);
$promisted.each(函数(){
$(此)。在(“单击”,函数()上){
var usario=document.getElementById(“RadioGroup 1_0”);
如果(USARadio.checked==true){
切换美国(真);
}
否则{
toggleUSA(假);
}
});    
});
});   
功能切换美国(禁用){
var USATable=document.getElementById(“第三行”);
var USAInputs=USATable.getElementsByTagName(“输入”);

对于(var i=0;我希望只能编辑“美国地址字段”当USA单选按钮被标记为感谢快速响应!你能给我一个确切的方法吗?对不起,说到JS,我是一个傻瓜,我只是在这个网站的帮助下才设法让它运行到这个水平,JSFIDLE编辑了我的原始帖子,我更新了帖子,包含了你需要引用的JQueryyup脚本成功了,非常感谢!
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type=text/javascript>
$(function() {
  var $promised = $("input[name='RadioGroup1']");
  $promised.each(function() {
    $(this).on("click",function() {

      var USARadio = document.getElementById("RadioGroup1_0");
      if(USARadio.checked == true){
        toggleUSA(true);
      }
        else{
          toggleUSA(false);
        }
    });    
  });
});   
function toggleUSA(disable){
  var USATable = document.getElementById("rowThree");
  var USAInputs = USATable.getElementsByTagName("input");
  for(var i=0;i<USAInputs.length;i++){
    if(disable == true)
      USAInputs[i].removeAttribute("disabled");
    else
      USAInputs[i].setAttribute("disabled", "true");
  }
}    
</script>