js前端取服务器控件的值

在web开发过程中,对于服务器控件,或者设置runat="server"的html控件,在应用母版页后,程序编译后服务控件的ID会发生改变,有时候根据控件id来获取时,会取不到对应控件(当然这种情况也不是经常会有),那么我们如何来解决这个问题呢。

1.js前端取服务器控件的值

有三种解决方法,大家可以尝试一下

页面示例:
     server
     
 
  

如上我们定义两个带服务器标识的控件,现在我们用js来取txtServer的值,txtInput与此一样,示例代码如下:

 function A() {
        //方案1:用ClientId来标识
        var r_type = document.getElementById("<%=txtServer.ClientID %>").value;
        //方案2:用JQuery来取值
        var str = $("input[id$='txtServer']").val();
        //直接用ID
        var st2 = $("#txtServer").val();
        alert(str);
        alert(r_type);
        alert(st2);
    }

2.JQuery移除指定元素

在元素动态绑定数据时,每次绑定数据时,需要先移除之前已加载的数据,如填充

    中的
  •  
    JS示例

    var $sel = $('#ulregion');
    $sel.empty();//移除所有数据
    $sel.append('
  • 暂不确定
  • '); $.ajax({ type: "Post", url: "../Run/ServerFree.aspx/GetStr", data: "{'str':'fValue'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { for (var i = 0; i < data.length; i++) { var optionvalue = data[i]; //填充数据到li $sel.append("
  • " + optionvalue.REGIONNAME + "
  • "); } }, error: function (err) { alert(err); } });
    但有时候,会给li加一些效果如,下拉流动条效果,不能移除所有元素,只需要移除指定元素,则可以

    使用$sel.find("li").remove();  替换$sel.empty();

    HTML页面:

    小汤山
    js前端取服务器控件的值_第1张图片







你可能感兴趣的:(前端开发,Web开发)