对此有很多解决方案,但我认为这有点不同。
点击格栅行后,右侧的“Estado”字段(状态)会自动完成。我想根据该字段隐藏/显示图标。
我已尝试使用onChange atribbute,但不起作用,必须“手动”编写 我也试过了这个页面中的一些jquery函数,但它没有检测到这个事件 最后,我试图改变cs文件中图标的可见性,但它不是同步的,客户端没有得到事件。
我还能做什么?
非常感谢
Fusion只是一个框架,与具有更多功能的文本框相同
<Fusion:CampoTexto runat="server" onChange="alerta();" ID="campoEstadoTarjeta" Requerido="false" Width="200" CssClass="Campo"
<script>
function alerta(){
alert("asd"
}
</script
这不起作用:
$(document).ready(function () {
$('#campoEstadoTarjeta').change(function () { alert('test'); });
});
答案 0 :(得分:0)
尝试这样的事情,这应该对你有用
<Fusion:CampoTexto runat="server" ID="campoEstadoTarjeta" Requerido="false" Width="200" CssClass="Campo"
$("#campoEstadoTarjeta'").keyup(function(){
alert("this works");
});
因此,每次按键完成后,该事件将会触发,您应该可以执行您想要执行的操作。
如果您正在寻找另一个具有该值的文本框,那么您可以执行类似这样的操作
$("#campoEstadoTarjeta'").keyup(function(){
$("#myOtherTextBox").val($("#campoEstadoTarjeta'").val());
});
答案 1 :(得分:-1)
控件中的Async PostBack位于UpdatePanel内部后,JavaScript侦听器将丢失。您需要重新注册TextBox。
将侦听器绑定包装在函数中。
<script type="text/javascript">
bindFunction();
function bindFunction() {
$("#<%= campoEstadoTarjeta.ClientID %>").keyup(function () {
alert('test')
});
}
</script>
然后在Async PostBack之后调用该函数。
protected void ButtonInsideUpdatePanel_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "bindFunction", "bindFunction();", true);
}