预选多个选择框的选项,使用 Materialize css FW 不起作用
Preselecting options of multiple selectbox, using Materialize css FW doesn't work
我正在使用 Materialize css 框架。当我打印多个 select 框 (<select multiple>...
) 时,预 selected 选项 (<option selected...>
) 不会呈现。
然而,浏览器了解某些选项是预selected,因此在提交表单时会再次发送它们。同样由于渲染问题,我无法使用预 select 选项或 select 新选项进行操作。
普通选择框工作正常。
您可以将 onchange 事件添加到字段并通过访问所有 (li) 子项来重置值。如果你仔细看。 Multi select 使用 UL 和一个文本字段来存储值,并为 li 保留 class "Active"。并在 .material select 之后附加此代码,因为复选框是在
之后初始化的
您可以尝试关注
function change_materialize_multiple_Select(id_of_select)
{
var newValuesArr = [],
select = $(id_of_select),
ul = select.prev();
ul.children('li').toArray().forEach(function (li, i) {
if ($(li).hasClass('active')) {
newValuesArr.push(select.children('option').toArray()[i].value);
}
});
select.val(newValuesArr);
}
我正在使用 Materialize css 框架。当我打印多个 select 框 (<select multiple>...
) 时,预 selected 选项 (<option selected...>
) 不会呈现。
然而,浏览器了解某些选项是预selected,因此在提交表单时会再次发送它们。同样由于渲染问题,我无法使用预 select 选项或 select 新选项进行操作。
普通选择框工作正常。
您可以将 onchange 事件添加到字段并通过访问所有 (li) 子项来重置值。如果你仔细看。 Multi select 使用 UL 和一个文本字段来存储值,并为 li 保留 class "Active"。并在 .material select 之后附加此代码,因为复选框是在
之后初始化的您可以尝试关注
function change_materialize_multiple_Select(id_of_select)
{
var newValuesArr = [],
select = $(id_of_select),
ul = select.prev();
ul.children('li').toArray().forEach(function (li, i) {
if ($(li).hasClass('active')) {
newValuesArr.push(select.children('option').toArray()[i].value);
}
});
select.val(newValuesArr);
}