2

我不明白为什么在使用 jquery 更改其值后无法在回发时触发 TextChanged 事件。

我的意思是我的网页上有一个 asp radiobuttionlist。它似乎有一个用于单选按钮的 TextChanged 事件。

假设我的单选按钮被称为 rblTest,如下所示:

<asp:RadioButtonList runat="server" ID="rblTest" ClientIDMode="Static" 
  OnTextChanged="rblTest_TextChanged"></asp:RadioButtonList>

并且“背后的代码”是这样设置的:

protected void rblTest_TextChanged(object sender, EventArgs e)
{
    Response.Write("Yay it fired TextChanged Event");
}

非常简单的测试,但我实际上希望它在放入一些代码之前触发。


但后来我尝试实际更改一些单选按钮项目的文本,如下所示:

        $('#rblTest_0').val("inputchanged");
        $("label[for='rblTest_0']").html("thislabelisalsochanged");

这有效(视觉上) - 我可以看到我的单选按钮列表上第一项的值发生变化,并且一切正常。

但是,当进行回发时,它不会触发 TextChanged 事件......无论我做什么。


那么是否不可能使用 jquery/javascript 在单选按钮列表上触发 TextChanged 事件?

如果我对文本框做同样的事情,这将起作用。

希望你们能解释我做错了什么或/以及为什么这是不可能的!

注意:只是试图让它在 rblTest 回发后打印出文本:

rblTest.Items[0].Text

它只是给了我它的原始价值,而不是我改变它的价值。所以也许它只是不可能通过客户端更改文本,只能通过服务器端代码......或者是吗?也许你们中的一个人有一些想法......任何建议或想法都会有所帮助:)

提前谢谢:-)

4

1 回答 1

0

尝试模拟用户对您的 rbs 的点击。类似的东西

$('#rb').trigger('click');

更多关于“触发器”的信息。

请注意, rb - 是您的单选按钮 () 元素,而不是标签。

于 2012-12-16T22:00:47.860 回答