我希望能够在 $("form").validate 期间将星号添加到文本框的末尾。我可以用 $(element).after(" "); 但是如果键入的文本或条目正确,我该如何优雅地删除它。jQuery dosent 有一个 $(element).remove(" "); 对此的任何帮助都会很棒。
问问题
127 次
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
举个例子,您必须在需要时在验证中插入添加和删除:
$('.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 回答