如何将占位符添加到移动设备上的多选表单字段
How do i add a placeholder to a Multiselect form field on mobile devices
我正在使用 Code Ignitor 通过 form_multiselect() 函数生成多 select 表单。然而,我不认为这个问题是特定于 CI,而是移动浏览器呈现多 select 表单字段的方式。
我的表单代码:
<div id="searchform" class="search search-form search-horizontal">
<?php
$detectselect = isset($selecteddetec) ? $selecteddetec : '';
$gasselect = isset($selectedgases) ? $selectedgases : array();
echo form_open('searchproduct', array('name' => 'contact', 'class' => 'searchproduct'));
echo ('<div class="boxes">');
echo form_label('Type of detector', 'typeofdetect');
echo form_dropdown('typeofdetect', $detecttype, $detectselect);
echo ('</div>');
echo ('<div class="boxes">');
echo form_label('Gases to detect', 'gastodetect[]');
echo form_multiselect('gastodetect[]', $gasdetectopt, $gasselect, 'class="gas-multiselect" placeholder="Choose gases..."');
echo ('</div>');
echo form_hidden(array('posturi' => $pgalias));
echo form_submit('submit', 'Search', "class='buttons'");
?>
</form>
</div>
在桌面浏览器上,表单应用了 Chosen jQuery 库,该库反过来处理字段的占位符,这些工作正常。
在移动设备上,Chosen 库被禁用,因此使用标准格式标记。单个 select 字段的占位符按预期工作,但是 multiselect 默认显示“0 Selected”,我似乎没有做任何改变。
有没有人有覆盖它的经验?通过 form_multiselect() 函数传递占位符属性没有任何区别,我在网上找不到任何答案。我们需要一个占位符,因为在移动设备上我们没有表单标签(并且由于 space 在显示中,我们真的宁愿避免它们)
编辑::问题截图
编辑 2::
我接受了下面 Dray 的回答,为了完整起见,这是我需要传递到代码点火器中的选项数组的内容。
$a['0" default selected disabled="disabled'] = 'Choose gases...';
您可以将 select 字段的第一个选项设置为:
<option value="" default disabled selected>
Your place holder here
</option>
P.S。这只是一种解决方法。
我正在使用 Code Ignitor 通过 form_multiselect() 函数生成多 select 表单。然而,我不认为这个问题是特定于 CI,而是移动浏览器呈现多 select 表单字段的方式。
我的表单代码:
<div id="searchform" class="search search-form search-horizontal">
<?php
$detectselect = isset($selecteddetec) ? $selecteddetec : '';
$gasselect = isset($selectedgases) ? $selectedgases : array();
echo form_open('searchproduct', array('name' => 'contact', 'class' => 'searchproduct'));
echo ('<div class="boxes">');
echo form_label('Type of detector', 'typeofdetect');
echo form_dropdown('typeofdetect', $detecttype, $detectselect);
echo ('</div>');
echo ('<div class="boxes">');
echo form_label('Gases to detect', 'gastodetect[]');
echo form_multiselect('gastodetect[]', $gasdetectopt, $gasselect, 'class="gas-multiselect" placeholder="Choose gases..."');
echo ('</div>');
echo form_hidden(array('posturi' => $pgalias));
echo form_submit('submit', 'Search', "class='buttons'");
?>
</form>
</div>
在桌面浏览器上,表单应用了 Chosen jQuery 库,该库反过来处理字段的占位符,这些工作正常。
在移动设备上,Chosen 库被禁用,因此使用标准格式标记。单个 select 字段的占位符按预期工作,但是 multiselect 默认显示“0 Selected”,我似乎没有做任何改变。
有没有人有覆盖它的经验?通过 form_multiselect() 函数传递占位符属性没有任何区别,我在网上找不到任何答案。我们需要一个占位符,因为在移动设备上我们没有表单标签(并且由于 space 在显示中,我们真的宁愿避免它们)
编辑::问题截图
编辑 2::
我接受了下面 Dray 的回答,为了完整起见,这是我需要传递到代码点火器中的选项数组的内容。
$a['0" default selected disabled="disabled'] = 'Choose gases...';
您可以将 select 字段的第一个选项设置为:
<option value="" default disabled selected>
Your place holder here
</option>
P.S。这只是一种解决方法。