2012-09-04 29 views
0

我正在寻找类似于TextBox控件的OnTextChanged属性的内容。因此,当标签的文本值发生变化时,会调用特定的函数来执行我的特定工作。如何捕捉Label控件的Text属性的更改?

标记

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 

    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 

    <asp:SliderExtender ID="SliderExtender1" TargetControlID="TextBox2" BoundControlID="Label1" Maximum="200" Minimum="100" runat="server"> 
    </asp:SliderExtender> 
+3

(该'change'事件不能正常工作,但'input'是完美的。)

$('#your_textbox').bind('input', function() { /* This will be fired every time, when textbox's value changes. */ }); 

这个jQuery代码捕获的任何元素立即改变,

$('.myElements').each(function() { // Save current value of element $(this).data('oldVal', $(this).val()); // Look for changes in the value $(this).bind("propertychange keyup input paste", function(event){ // If value has changed... if ($(this).data('oldVal') != $(this).val()) { // Updated stored value $(this).data('oldVal', $(this).val()); // Do action .... } }); }); 

怎么是你的用户要改变标签的文字? – yogi

+0

通过移动滑块 –

+2

也许最好从滑块事件调用该函数。 – Casperah

回答

2
手柄

滑块的适当OnChange事件来代替。标签文本可以更改的唯一方法是如果您的代码更改它。

编辑

嗯。您可以尝试将滑块绑定到不可见的asp:TextBox,然后使用OnChange事件更新您的Label并调用您的函数。

+0

我正在使用AjaxControlToolkit的sliderExtender控件,并且在那里没有OnChange类型属性。 –

0

使用'change'事件

$('#sliderid').live('change', function() { 
    $('#textboxid').val('some text').trigger('change'); 
}); 

可能是这个样子,而不是改变事件观察'input'事件,而不是'change'

jQuery('#textboxid').live('input', function() { 
    // do your stuff 
}) 

或 您的滑块。通过phatmann