0

我希望能够在 $("form").validate 期间将星号添加到文本框的末尾。我可以用 $(element).after(" "); 但是如果键入的文本或条目正确,我该如何优雅地删除它。jQuery dosent 有一个 $(element).remove(" "); 对此的任何帮助都会很棒。

4

4 回答 4

1

您可以尝试将其放入一个元素中,然后将其删除:

$(element).after('<span id="remove_me">*</span>');

并用它来删除它

$('#remove_me').remove();

您还可以让元素已经存在但用 css 隐藏,display:none;然后.show()在验证表单需要它时使用它来显示它并.hide()删除它。

于 2012-09-10T15:30:25.107 回答
0

html

<input type="text" /><span id="error">*</span>

css

#error { display:none; }

js

if( valid ) ? $('#error').hide() : $('#error').show();

就像评论说的那样,您可以通过任何js事件检查此验证;最受欢迎的可能是keyup或在表格上submit

于 2012-09-10T15:30:08.683 回答
0

举个例子,您必须在需要时在验证中插入添加和删除:

jsfiddle

$('.required').on('click', function() {
    $(this).next().remove();
}).after('<span>*</span>');
于 2012-09-10T15:33:52.693 回答
0

检查此解决方案

$('#btn1').on('click', function() {
    $('.error').remove();
    $('#txt1').after('<span class="error">*</span> ');
    hideError();
});

$('#txt1').on('change', function() {
    hideError();
});

function hideError() {
    if ($('#txt1').val() == 'hello') {
        $('.error').hide();
    }

}

检查此FIDDLE以获取工作示例..​</p>

于 2012-09-10T15:34:44.777 回答