2012-10-02 34 views
3

我在本网站上使用了所有有用的答案来尝试构建一个jquery脚本来选择单选按钮,但由于某些原因它们不起作用。难道我做错了什么?为了简单起见,我已经从广场开始。jquery的活动单选按钮

我附上了php生成的表单在下面生成的格式。我尝试了多个浏览器,但无法获取任何按钮来选择任何内容。我没有考虑到一些复杂性吗?该页面是一个.php页面,表单是在php中生成的。

对不起,基本的问题 - 任何帮助将不胜感激。不确定它是否相关,但我希望这些按钮可以在移动设备以及各种浏览器上使用。

表格代号:

<form class="form-horizontal" method="get" action="submit.php" name="form"> 
    <div class="control-group"> 
     <div class="row-fluid"> 
      <div class="span2"></div> 
      <div class="span8"> 
       <label class = "control-label" for="input1"> foreign policy </label> 

       <div class="controls"> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_l" value="1_l"> Liberal</label> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_m" value="1_m"> Moderate</label> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_c" value="1_c"> Conservative</label> 
       </div> 
      </div> 
     </div> 

     <div class="row-fluid"> 
      <div class="span2"></div> 
      <div class="span8"> 
       <br> 
       <center><button type="submit" class="btn btn-danger btn-large">Generate</button></center> 
      </div> 
      <div class="span2"></div> 
     </div> 
</form> 

jQuery代码:

$('button').click(
function() { 
    $('#1_l').attr('checked', true); 
} 
); 
+0

你的jQuery脚本是什么样的? – brazilianldsjaguar

+0

我最初注意到的一件事情是...... ID通常应该以一个字母开头,而不是一个数字。你的收音机输入的ID都是从1开始的。如果没有其他的话,我至少会更新它们,这样第一个字母就是一个字母。可能不是你的问题的原因,但我偶尔会遇到过去与该规则有关的问题。 – Mike

+1

在HTML 4.0中是这样的,但是从HTML5开始,ID可以从数字开始 –

回答

1

确保只绑定DOM加载后的处理程序:

$(function() { 
    $('button').click(function() { 
    $('#1_l').attr('checked', true); 
    }); 
}); 
1

使用“:检查“选择器在jQuery中选择检查的输入,否则你只会得到第一个。

$(function() { 

    $('button.btn').click(function() { 
     var $box = $('.checkbox input:checked'); 
     if ($box.length > 0) 
      alert($box.val()); 
    }); 

});​ 
+0

这是一个单选按钮,你只想检查一个右键? – mcgrailm

+0

是的,这是正确的 – asparagus

+0

HTML只允许你选择单选按钮组中的一个单选按钮。因此,您只能在jQuery“数组”对象中获得一个结果。如果在复选框中可以使用:first或.first()选择器来仅选择一个(第一个)选中的输入控件。 – Roy

0

这里是我看你有我关闭它

我改变了按钮类型按钮,而不是服从,所以我可以看到它的工作,一切都很好,这不是关闭一个div

See my working DEMO

<form class="form-horizontal" method="get" action="submit.php" name="form"> 
    <div class="control-group"> 
     <div class="row-fluid"> 
      <div class="span2"></div> 
      <div class="span8"> 
       <label class = "control-label" for="input1"> foreign policy </label> 

       <div class="controls"> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_l" value="1_l"> Liberal</label> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_m" value="1_m"> Moderate</label> 
        <label class="checkbox inline"><input type="radio" name="group1" id="1_c" value="1_c"> Conservative</label> 
       </div> 
      </div> 
     </div> 

     <div class="row-fluid"> 
      <div class="span2"></div> 
      <div class="span8"> 
       <br> 
       <center><button type="button" class="btn btn-danger btn-large">Generate</button></center> 
      </div> 
      <div class="span2"></div> 
     </div> 
    </div> 
</form>​ 

,这里是jQuery的

$(function() { 
    $('button').click(function() { 
     $('#1_l').attr('checked', true); 
    });​ 
} 
+0

由于某种原因,我把这个,它似乎仍然没有工作。你知道为什么jQuery可能不工作吗? – asparagus

+0

你会如何插入jquery脚本到页面中?编辑为包含jQuery函数的 – asparagus

+0

。确保你的加载jQuery! – mcgrailm