使用JS设置Materialise Select下拉值

时间:2017-12-02 19:21:00

标签: javascript select materialize

在Materialise框架中:

我有一个更新输入框并在单击按钮后选择的功能。在Inputbox上正常工作但在选择时失败:

我的选择是:

<select class="" id="nm" name="nm"><option selected value="Select Product" disabled>Select Product</option><option value="Roulette">Roulette</option><option value="Texas">Texas</option><option value="Pokers">Pokers</option></select>

我将变量nm的值“Texas”传递给函数:

function editData(id, nm, em, hp, ad) {

   $('#id').val(id);
   $('#nm').val(nm);
    $("#nm").material_select();
    $('#em').val(em);
    $('#hp').val(hp);
    $('#ad').val(ad);
    $('#id').prop("readonly",true);
    $('#save').prop("disabled",true);
    $('#update').prop("disabled",false);

}

我的选择应显示“德克萨斯”作为默认值/选定值,但它是空白的。 我尝试使用$(“#nm”)刷新它.special_select();但它不起作用。

1 个答案:

答案 0 :(得分:1)

您好我正在使用解决方案而无需重新初始化。如果要在实体化中更改选择值,请选择仅使用此功能:

function msValue (selector, value) {
 selector.val(value).closest('.select-wrapper').find('li').removeClass("active").closest('.select-wrapper').find('.select-dropdown').val(value).find('span:contains(' + value + ')').parent().addClass('selected active');
}

然后使用

msValue($("#select_id"), "value_here")

在你的情况下

function editData(id, nm, em, hp, ad) {

    $('#id').val(id);
    msValue($('#nm'), nm);
    $('#em').val(em);
    $('#hp').val(hp);
    $('#ad').val(ad);
    $('#id').prop("readonly",true);
    $('#save').prop("disabled",true);
    $('#update').prop("disabled",false);

}

缺点:如果物化改变了选择官方化的方式,这个功能就不起作用了,所以要注意:)