remove()无法动态添加输入

时间:2018-03-20 11:54:50

标签: javascript jquery html

您好我正在尝试根据ajax返回的结果动态构建输入。但是.remove()无效,我的解决方案并不漂亮,因为我正在重复自我。请给我任何帮助或指示。提前谢谢。

<input class="form-control" autocomplete="off" id="dataTypeInputPlaceHolder" />
url: '/SettingTypes/GetSettingTypeDataValidation',
async: false,
data: { SettingTypeName: SettingName },
dataType: "json",
success: function (settingValueType) {
    if (settingValueType == 'Integer') {
        $("#dataTypeInputPlaceHolder").remove();
        $("#dataTypeInputBoolean").remove();
        $("#dataTypeInputStringList").remove();
        $("#dataType").append("<input asp-for='SettingValue' class='form-control' autocomplete='off' id='dataTypeInput' type='number' />")
    }

    if (settingValueType == 'Decimal') {
        $("#dataTypeInputBoolean").remove();
        $("#dataTypeInputPlaceHolder").remove();
        $("#dataTypeInputStringList").remove();
        $("#dataType").append("<input asp-for='SettingValue' class='form-control' autocomplete='off' id='dataTypeInput' type='number' />")
    }

    if (settingValueType == 'Boolean') {
        $("#dataTypeInputPlaceHolder").remove();
        $("#dataTypeInputStringList").remove();
        $("#dataTypeInput").remove();
        $("#dataType").append("<input asp-for='SettingValue' type='checkbox' autocomplete='off' id='dataTypeInputBoolean' checked />")
        $("#dataTypeInputBoolean").val(true);
        //$('#dataTypeInput').remove();
    } else {
        $("#dataTypeInputPlaceHolder").remove();
        $("#dataTypeInput").remove();
        $("#dataTypeInputPlaceHolder").remove();
        $("#dataTypeInputBoolean").remove();
        $("#dataType").append("<input asp-for='SettingValue' class='form-control' type='text' autocomplete='off' id='dataTypeInputStringList' />")
    }

3 个答案:

答案 0 :(得分:0)

来自docs...

触发自定义事件

$( "#some-element").trigger( "custom");

然后:

$('#user div').on('custom', function(){
    $('#user div').remove('label');
});

答案 1 :(得分:-1)

$("#dataTypeInputPlaceHolder").empty();

或者

$("#dataTypeInputPlaceHolder").val('');

答案 2 :(得分:-1)

这不是删除文本框的好方法,如果要删除文本框,可以使用div元素中的文本框和Div元素的设置ID然后尝试。