2017-01-30 23 views
0

asp:TextBoxコントロールでjQuery-UI datepickerを使用したいと思います。ここ は、スクリプトの私の構文は次のとおりです。サーバーコントロールASP.NetでJavaスクリプトが実行されていません

<script> $(function(){$document.getElementById('<%txtvBdayEd.ClientID%>').datepicker({dateFormat: "yy-mm-dd"}); 
     }); 
</script> 

それが動作していないと私は好奇心正しくないということでしょうか? jQueryとフェッチのための標準的なJSの構文を

私のIDは

<asp:Textbox id="txtvBdayEd" CssClass="txtBoxes" runat="server" Text="PlaceHolder"></asp:Textbox> 
+0

あなたの要素セレクタが私に奇妙に見えます。 'getElementById(' <%txtvBdayEd.ClientID%> ')'本当に '<%txtvBdayEd.ClientID%>'のid属性を持つDOM要素がありますか? – cobolstinks

+3

<%= txtvBdayEd.ClientId%> – Esko

+0

@cobolstinksはサーバで評価されプリントされていません – charlietfl

答えて

2

からあなたは、クライアント側のIDを生成するために、ASP.NETのコードに若干の構文エラーを持って来て、また、あなたは混乱してきました要素。

ASPビットは、<%の直前に=が必要です。スクリプト部分では、$ documentはおそらく何かに評価されません。 document.getElementByIdはJS要素を取得しますが、JS要素をラップするjQueryオブジェクトに対してdatepickerメソッドを呼び出す必要があります。これは、$(セレクタ)構文を使用して行われます。

$("#<%=txtvBdayEd.ClientID%>").datepicker({ dateFormat: 'yy-mm-dd' }); 

は正しく動作するはずです。

+0

ちょっとした変更をソリューションに追加したいClientIdはClientIDそれは大文字と小文字を区別します。 – Tommy

+0

@ TommyMcGee、ありがとう。私はASP.NETフォームを使用して以来、しばらくして、これらの小さな詳細をすぐに忘れる! – ADyson

関連する問題