我有一个相当简单的选择字段,其中包含从数据库 (Magento) 获取的选项并通过以下方式回显
foreach ($groups as $a){
if($a['label'] != NULL){
echo "<option value='".$a['value']."'>" . $a['label'] . "<option>";
}
}
我的问题是,即使服务器端代码阻止空字段,我仍然得到空选项字段
我还有这个 JavaScript 可以按字母顺序对我的选项进行排序,这会导致我有空白选项吗?
function sortlist()
{
var cl = document.getElementById('group_id');
var clTexts = new Array();
for(i = 2; i < cl.length; i++)
{
clTexts[i-2] =
cl.options[i].text.toUpperCase() + "," +
cl.options[i].text + "," +
cl.options[i].value;
}
clTexts.sort();
for(i = 2; i < cl.length; i++)
{
var parts = clTexts[i-2].split(',');
cl.options[i].text = parts[1];
cl.options[i].value = parts[2];
}
}
sortlist();
如何使用 JavaScript 确保下拉选择中不显示任何空白选项?
详情:
我的 foreach 的数据源不包含空白字段
我得到的空白选项和合法选项一样多
最终结果源代码如下所示:
最佳答案
这应该工作得很好,而且您没有关闭标签,这在我测试时导致了一些问题。您也不应该每次都在循环中回显。创建一个变量并在循环外回显一次。
$options = '';
foreach ($groups as $a)
{
if(!empty($a['label']))
{
$options .= "<option value='".$a['value']."'>" . $a['label'] . "</option>";
}
}
echo $options;
关于javascript - 从选择字段中删除空白选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29848473/