【问题标题】:Radio button does not get selected when I click on label单击标签时未选择单选按钮
【发布时间】:2012-12-13 05:53:57
【问题描述】:

这是标记:

<label for="big" class="labels">
    <input type="radio" name="type" value="big" id="big"> Grandes images
</label>

它是由这个生成的:

<?php
    $radio_data = array('id'=>'big','name'=>'type','type'=>'radio','value'=>'big');
    echo form_label(form_input($radio_data)." Petites images\n",'small', $label_data);
?>

当我单击标签时,通常会选择单选按钮,但这并没有发生。我正在使用 twitter 引导程序。

编辑:

新的 HTML:

<span>
   <input type="radio" name="type" value="small" id="small">
   <label for="small" class="labels radio"> Petites images</label>
</span>

新 PHP:

<?php
    echo form_input($radio1_data);
    echo form_label(" Petites images", 'small', $label_data);
?>

但是,当点击标签时,仍然没有选择收音机。

【问题讨论】:

标签: twitter-bootstrap radio-button codeigniter-2


【解决方案1】:

这不是有效的 HTML。标签不包含输入,它们由输入上的id 和标签上的for 分隔和连接。查找spec

【讨论】:

【解决方案2】:

您将form_input() 作为参数传递给form_label(),这是不正确的,因为form_label() 采用这些参数:

form_label($label_text = '', $id = '', $attributes = array())

尝试更改此设置:

echo form_label(form_input($radio_data)." Petites images\n",'small', $label_data);

收件人:

echo form_input($radio_data) . form_label(" Petites images\n", $radio_data['id'], $label_data);

输出应该是这样的:

<input type="radio" name="type" value="big" id="big">
<label for="big" class="labels"> Petites images</label>

【讨论】:

  • @YahyaKACEM 你有演示网址吗?
  • @YahyaKACEM 关于您的更新,您应该使用 &lt;div&gt; 包装器而不是 &lt;span&gt; 包装器,因为 span 标签只能包含其他内联元素,如 abbr、strong 等...请参考:webdesign.about.com/od/htmltags/p/bltags_span.htm
  • 不,twitter bootstrap 对那个功能有影响吗?
【解决方案3】:

我不懂php,但我知道html。

尝试带来这样的输出:

<label for="big" class="labels">
    <input type="radio" name="type" value="big" id="big">
    <i>Grandes Images</i>   
</label>

Twitter boostrap 与此问题无关。

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 2010-12-04
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    相关资源
    最近更新 更多