0

我正在尝试使用 TwitterBoostrap 在 cakePHP 中并排放置两个输入。

这是我的一段代码

<?php echo $this->Form->create('Ad',array("class"=>"well row-fluid")); ?>
    <fieldset>
        <legend><?php echo __('Add Ad'); ?></legend>
        <?php echo $this->Form->input('user_id',array('class'=>'span3'));?>
        <div class="controls controls-row">
            <?php echo $this->Form->input('state_id', array('empty' => 'Selecione o Estado','class'=>'span2','div'=));?>
            <?php echo $this->Form->input('city_id', array('empty' => 'Selecione a Cidade','class'=>'span5'));?>
        </div>

输出如下所示:

State
|----------| City
             |----------|

城市未对齐。我该如何解决?

我该如何解决?

4

1 回答 1

0

在将 Bootstrap 与 CakePHP 一起使用时,我经常发现它很有用,因为它可以从我希望创建的 HTML 中返回。如果我正确理解了您的问题,您希望提供以下内容:

<form class="well-row">
    <div class="span3">
        <label class="control-label">State</label>
        <select name="state">...</select>
    </div>
    <div class="span3">
        <label class="control-label">City</label>
        <select name="state">...</select>
    </div>
</form>

我知道 CakePHP 的表单助手确实用标签包围inputlabel元素,div这会弄乱你的布局。我通常会执行以下操作来更好地控制标记:

<?php echo $this->Form->create('Ad', array('inputDefaults' => array('div' => false)))?>

总而言之,请尝试以下操作:

<?php echo $this->Form->create('Ad', array('inputDefaults' => array('div' => false)))?>
<div class="span5">
    <?php echo $this->Form->input('state_id', array('empty' => 'Selecione o Estado', 'class' => 'span3'));?>
</div>
<div class="span5">
    <?php echo $this->Form->input('city_id', array('empty' => 'Selecione a Cidade', 'class' => 'span3'));?>
</div>

您可能必须增加容器 div 的跨度以适应标签上的任何填充或选择元素以阻止它们换行。

于 2013-04-24T12:24:59.343 回答