1

いくつかの場所で参照されていることがわかった次のコード行を使用して、jQuery を使用して asp:textbox の値を変更しようとしています。

$("#<%= element.ClientID %>").attr('value', "");

ただし、最初の部分が無効な式であるという構文エラーが発生し続けます。ここに欠けているのは単純なものだと確信していますが、それが何であるかはわかりません。

jQuery はマスター ページを介してリンクされ、問題の行を含む関数を含む .js ファイルは特定のページで個別にリンクされます。

4

5 に答える 5

1

あなたの構文は正しいです:

$('#<%= textbox.ClientID%>').val('new textbox value');

<asp:textbox />は、 javascript を介して、この場合は jQueryを選択するための正しい構文です。ただし、これは .ASPX ファイルでのみ機能します。

これを機能させるには、この個別の .js ファイルを .ASPX ページのインライン スクリプトに変換する必要があります。

または、CSS クラスをセレクターとして使用することもできます。これは、外部の .js ファイルから機能します。

.JS ファイル内

$('.uniqueCSSClassName').val('new textbox value');

.ASPX ファイル内

<asp:textbox ID="whatever" CssClass="uniqueCSSClassName" />

これにより、外部の JavaScript ファイルからテキスト ボックスを選択できるようになります。これはきれいなアプローチではありませんが、うまくいきます。最初のオプションを選択し、.js コードをインライン スクリプトに移動します。

于 2013-07-18T14:34:19.043 に答える
1
<script runat="server" type="text/javascript">
    $("#<%= element.ClientID %>").val("");
</script>
于 2013-07-18T14:34:51.280 に答える
0

このコードは.aspxページにありますか、それとも.jsファイルにありますか? asp エンジンは JavaScript ファイルを処理しないため<%= element.ClientID %>、実際のクライアント ID にはなりません。

また、テキスト ボックスの値を設定するコード行は次のようになります。

$('selector').val('');

JavaScript を分けておきたい場合は、代わりにクラスを使用してください。

于 2013-07-18T14:33:30.813 に答える