使用jquery函数时Textchange事件无效

时间:2018-02-07 07:09:20

标签: javascript c# jquery asp.net

我在asp.net中使用javascript的范围滑块,我想调用函数后面的代码进行数据绑定,所以我在textchange事件上使用但是当jsfuction的textchnged有任何其他选项绑定数据时,evnt不会被触发当范围滑块值更改时。

这是我的代码:

<div>
    <input id="myRange" type="range" min="1" max="10" value="1" class="slider" 
           onchange="abc()">
    <p>Value: <span id="demo"></span></p>
</div>
<script>
    var slider = document.getElementById("myRange");
    var output = document.getElementById("demo");
    output.innerHTML = slider.value;
    slider.oninput = function() {

        output.innerHTML = this.value;
    }
    var hiddenControl = '<%= inpHide.ClientID %>';
    document.getElementById(inpHide).value = output;

    function abc() {
        var hdnvalue = document.getElementById("demo");
        document.getElementById('<%=TextBox2.ClientID%>').value = hdnvalue.innerText;
    }
</script>

<asp:TextBox ID="TextBox2" runat="server" AutoPostBack="true" CausesValidation="true" 
   OnTextChanged="TextBox2_TextChanged"></asp:TextBox>

1 个答案:

答案 0 :(得分:0)

您必须强制执行来自javacript函数的事件调用,如下所示: -

function abc()
 {
      var hdnvalue = document.getElementById("demo");   
      document.getElementById('<%=TextBox2.ClientID%>').value = hdnvalue.innerText;
      __doPostBack('TextBox2','TextChanged');
 }

您也可以设置焦点并以编程方式将其删除,但这将是一个有点冗长的方法。