目前,我们在标签内部有一个输入和一个选择。 我们希望整个标签可以点击,这样就可以选择单选按钮。 选择单选按钮后,底层div将显示用户可以使用选择的位置。
此代码适用于Safari和Chrome,但不适用于Firefox。 在Firefox中,用户无法使用select,这将直接弹出。
我们如何解决这个问题?
<label class="formListBlock">
<input id="method" value="<?php echo $_code ?>" type="radio" onclick="payment.switchMethod('<?php echo $_code ?>')" checked="checked"<?php endif; ?> class="radio"/>
<div class="formListBlock-selector">
<ul class="form-list ops-form-list" id="payment_form_ops_iDeal" style="display:none;">
<li>
<select name="payment" id="ops" class="required-entry">
<option value=""><?php echo $this->__('--Please Select--')?></option>
<?php foreach ($issuers as $key => $value): ?>
<option value=<?php echo $this->escapeHtml($key) ?>>
<?php echo $this->escapeHtml($value) ?>
</option>
<?php endforeach; ?>
</select>
</li>
</ul>
</div>
</label>
答案 0 :(得分:2)
为什么要将这样复杂的HTML放在<label>
中?通常情况下,<label>
只需要for=
属性即可指向id
的{{1}}。当用户单击标签时,这应足以使输入获得焦点。您可以绑定焦点事件并从那里继续。