【发布时间】:2017-07-15 09:47:04
【问题描述】:
在一个表单中,我有一个州下拉菜单和一个邮政编码文本框。客户已指定他们要检查以确保邮政编码与该州匹配,如果不匹配,则弹出一条消息并阻止提交表单。
更改邮政编码或更改状态后,我会在服务器上调用 ajax 函数以确保邮政编码在状态内。如果没有,我会在邮政编码复选框上弹出一个工具提示,上面写着“邮政编码不在选定状态”。因此,除非存在不匹配,否则工具提示不会出现,我不会添加它,直到/除非 zip 与状态不匹配。这一切都很好。
然后,如果邮政编码更改并且匹配,我想摆脱工具提示。这是我无法工作的部分。无论我尝试什么,那个讨厌的工具提示仍然存在,即使在 zip 与状态匹配之后也是如此。
这是客户端方法:
function CheckZip() {
var zip = $("#ZipCode").val();
var zipLength = zip.length;
var state = $("#StateCode").val();
if (zipLength === 5) {
$.getJSON("/Home/CheckZip", { zipCode: zip, stateCode: state },
function (data) {
if (data == "true") {
$('#ZipCode').tooltip('disable');
$('#ZipCode').tooltip().mouseover();
}
if (data == "false") {
$('#ZipCode').attr('data-toggle', 'tooltip');
$('#ZipCode').attr('data-placement', 'top');
$('#ZipCode').attr('title', 'Zip code not in selected state.');
$('#ZipCode').tooltip().mouseover();
DisableSubmitButton();
}
if (data == "error") {
// todo
}
});
}
else {
DisableSubmitButton();
}
}
这似乎不是使工具提示消失的正确组合。
$('#ZipCode').tooltip('disable');
$('#ZipCode').tooltip().mouseover();
我也尝试删除所有属性,这与 if (data == "false") 中所做的相反。那也没用。
有什么想法吗?
【问题讨论】:
-
你在使用引导的工具提示吗?
-
是的(额外的文字,所以它会让我添加评论)
-
尝试将
disable更改为hide。还要删除下面隐藏工具顶部的行,否则它会再次出现:)
标签: javascript jquery tooltip