2014-06-13 26 views
1

我有一個文本區域控件和兩個文本框在我的網頁中。如何將文本區域和文本框的ID傳遞給jquery函數?如何將asp控件的文本區域id賦給jquery函數

<textarea id="jToolsProperties_htmlbox1" runat="server"></textarea>  
<br /> 
<asp:TextBox ID="posStart" runat="server"></asp:TextBox> 
<asp:TextBox ID="posEnd" runat="server"></asp:TextBox> 

$(function() { 
    $("#" + "<%=jToolsProperties_htmlbox1.ClientID%>").on("keyup click", function (e) { 
     var pos = getCursorPos(this); 
     alert(pos.start); 
     alert(pos.end); 
     $(this).siblings(".posStart").val(pos.start); 
     $(this).siblings(".posEnd").val(pos.end); 

    }).siblings("input").keydown(function (e) { 
     if (e.keyCode == 13) { 
      $(this).siblings("button").click(); 
      e.preventDefault(); 
     } 
    }); 
    $("button").click(function (e) { 
     var par = $(this).parent(); 

     setCursorPos(par.find("#" + "<%=jToolsProperties_htmlbox1.ClientID%>")[0], +par.find(".posStart").val(), +par.find(".posEnd").val()); 

    }); 
}); 
+0

它是在同一頁 – user2281545

+0

我可以看到你傳遞客戶端ID。這不正常嗎?當您在瀏覽器中呈現網頁後查看網頁的HTML源代碼時,您會看到什麼?它是否正確地將客戶端ID設置爲JavaScript? –

+0

檢查生成的HTML的查看源並獲取ID。如果您不打算更改母版頁面內容佔位符ID,則這樣做沒有任何危害。 – ssilas777

回答

-1

您可以使用您的服務器端ID。

var name = "<%=jToolsProperties_htmlbox1.ClientID%>"; 
$find(name); 

我認爲這應該有效。

+0

渲染id是修改asp.net渲染引擎 –

+0

對不起@EhsanSajjad,我的壞,我忘記了,因爲我記得上一次在MVC上工作 – TechGirl

0

請粘貼生成的HTML包括JavaScript代碼。

快速解決方法將css類分配給textarea並將其用於您的js代碼。

<textarea ... class="mytextarea" ...> 

$(function() { 
    $(".mytextarea").on("keyup click", ... 
0

使用

$("#<%=jToolsProperties_htmlbox1.ClientID%>").on(...);

它應該工作,我已經試過這一點。

相關問題