我制作了一个脚本,用于比较两个ASP.NET TextBox的值:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript"></script>
<script>
$(document).ready(function () {
var _t1 = $(document.getElementById("<%=TextBox1.ClientID%>"));
var _t2 = $(document.getElementById("<%=TextBox2.ClientID%>"));
$(_t1).on("keyup", function () {
if (_t1.val() == _t2.val()) {
$(_t1).attr('title', 'MATCH');
}
else {
$(_t1).attr('title', 'NO MATCH');
}
});
});
</script>
现在,结果(如果匹配与否)将显示在工具提示中。我可以以某种方式强制该工具提示始终显示吗?
答案 0 :(得分:2)
实际上title
工具提示只有当您将鼠标悬停在具有某些值的title
属性并且您没有执行任何键盘key-press,up,down
等的特定元素上时才会显示所以,如果你想在任何一个盒子中绑定并显示该匹配或不匹配,就要显示该消息。您需要使用label
并在其中设置值,并仅在您输入t1或t2时显示标签。检查以下建议。
$(document).ready(function () {
var _t1 = $('#first');
var _t2 = $('#second');
$(document).on("keyup", '#first, #second' ,
function () {
if ($(_t1).val() == $(_t2).val()) {
$('#IsMatch').html('MATCH');
}
else {
$('#IsMatch').html('NO MATCH');
}
});
//show label only if has focus on first or second textbox
$(document).on('focus blur', '#first, #second',
function(){
if ($(_t1).is(':focus') || $(_t2).is(':focus')) {
$('#IsMatch').fadeIn('fast');
}
else {
$('#IsMatch').fadeOut('fast');
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='first'>
<br/>
<input type='text' id='second'>
<br/>
<label id='IsMatch'></label>
<br/>
&#13;
答案 1 :(得分:0)
在Asp.Net中,您无法覆盖工具提示的行为。 您可以使用标签而不是工具提示。
在Windows窗体中,您可以使用ToolTip.ShowAlways可以使用。 https://msdn.microsoft.com/en-us/library/system.windows.forms.tooltip.showalways(v=vs.110).aspx