.empty()删除jQuery Mobile Native Menu

时间:2014-02-21 21:51:54

标签: javascript jquery jquery-mobile

我有一个填充下拉列表的方法(我没写过):

    function populateDDListItems(ddlObj, dataToPopulate, showSelectOption) {
        $(ddlObj).empty();
        if (dataToPopulate.length > 1) {
            $(ddlObj).append('<option value="Select" data-theme="a" selected>Select</option>');
        }
        if (dataToPopulate.length > 0) {
            $.each(dataToPopulate, function (idx, val) {
                $(ddlObj).append('<option value="' + val.value + '" data-theme="a">' + val.text + '</option>');
            });
            if (dataToPopulate.length == 1) {
                $(ddlObj).val(dataToPopulate[0].value).attr("selected", "selected");
                $(ddlObj).attr("readonly", "readonly");
            }
        }
    }

我的所有下拉/选择HTML对象都应用了jQuery移动下拉列表:

enter image description here

除了从此方法生成的一个。我发现以下行是罪魁祸首:

$(ddlObj).empty();

如果我删除这一行,jQuery mobile本机菜单适用于它的内容。但是,删除此功能也会破坏功能,因为存在多个版本的列表填充。

为什么这个方法会删除jQuery移动本机菜单以及我有哪些替代选项?

1 个答案:

答案 0 :(得分:0)

你可以.hide()它,你可以有一个隐藏的元素,你可以克隆到你使用的那个,然后可以删除该克隆。

通过这种方式,我使用标准Div集进行格式化,并且克隆继承了属性css等。然后可以更改克隆,包括.show(),然后在用完之后.empty()/。remove( )等等。