0

我有一个 ZendX_Jquery_Form ,我在为选择元素设置 placeHolder 时遇到问题。

$month->setAttribs(
        array(
            'required'  =>  TRUE,
            'placeHolder'   =>  'Month'
        ));

我也希望它看起来像这样: 在此处输入图像描述

但我得到的只是:在此处输入图像描述

在我的萤火虫输出 html 看起来像这样

<select id="months_at_residence-lengthMonth" placeholder="Month" required="1" name="months_at_residence[lengthMonth]">

我完全不知道为什么这不起作用。

我需要帮助来设置它,这样当我点击它时,占位符文本会隐藏。万一这不能直接使用 zend 我知道这可以使用 js/css 来完成。如果我用 css 和 javascript 来做,我怎样才能为所有选择元素实现这一点?

希望问题足够清楚

4

3 回答 3

3

占位符不适用于select表单元素,您应该改为使用默认值并禁用它,如下所示:

$month->addMultiOption('--', 'Month');
$month->setOptions(array('disable' => array('--')));

这将输出:

<select id="country" name="country" class="valid">
    <option disabled="disabled" label="--" value="--">Month</option>
    <option label="January" value="Jan">January</option>
    <option label="February" value="Feb">February</option>
    // ...
</select>

W3Schools的注意事项:

placeholder 属性适用于以下输入类型:文本、搜索、url、电话、电子邮件和密码。

于 2012-04-07T05:54:17.303 回答
1

为什么不在选择“占位符”文本中设置第一个选项?

<select id="choice">
    <option value="0" selected="selected">Choose...</option>
    ...
</select>

https://stackoverflow.com/a/5805194/435460

于 2012-04-07T05:41:27.363 回答
0

您可以通过 jquery 添加占位符:

  $("#months_at_residence-lengthMonth").attr("placeholder", "Month");

此处建议的解决方案可能会有所帮助:
http ://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html

于 2012-04-07T04:57:31.347 回答