0

ASPXページがあり、「FirstName」の値を「YourName」で設定する必要があります。どちらもテキストボックスです。「YourName」はページ上でvisible=falseに設定されています。問題は、Jqueryがのみ機能することvisible=trueです。

私の目標は、YourNameが。であるという条件で、FirstnameとYournameを設定することvisible=falseです。

詳細はこちら

<asp:TextBox runat="server" ID="fnameTextBox" />
<asp:TextBox runat="server" ID="ynameTextBox" visible="false" />

<script type="text/javascript">
    $(document).ready(function () {
        $('input:text[id*=fnameTextBox]').val($('input:text[id*=ynameTextBox]').val());
    });
</script>

'ynametextbox'の値を他のタイプまたは変数に格納できますが、Jqueryで参照する方法がわかりません(可能な場合)。

4

3 に答える 3

1

これは、コントロールオブジェクトのClientIDプロパティの目的です。これにより、jQueryで使用するjavascriptでアクセス可能なIDが得られます。参照は次のようになります。

$(<%=fnameTextBox.ClientID%>)

ASP.NETサーバーコントロールでVisible="false"を設定すると、HTML出力にまったくレンダリングされないため、JavaScriptでアクセスできなくなることに注意してください。CSSプロパティを使用して非表示にするか、非表示のdivに配置します。

于 2012-09-05T21:13:05.923 に答える
1

HiddenField要求どおりの例を次に示します。

Javascript:

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script>
    $(document).ready(function () {
        $('#<%=fnameTextBox.ClientID %>').val($('#<%=hiddenTextYourName.ClientID %>').val());
    });
</script>

HTML

<asp:TextBox runat="server" ID="fnameTextBox" />
<asp:HiddenField runat="server" ID="hiddenTextYourName" Value="Hanlet" />

もちろん、非表示フィールドはユーザーには表示されませんが、HTMLで値を表示できるため、注意が必要です。

幸運を..

于 2012-09-05T22:05:54.767 に答える
1

visible = "false"と書くと、htmlにはレンダリングされません。したがって、javascriptはその要素を取得できません。代わりに、style = "visibility:hidden;"を試してください

<asp:TextBox runat="server" ID="fnameTextBox" />
  <asp:TextBox runat="server" ID="ynameTextBox" Text="hello" style="visibility:hidden;" />
<script type="text/javascript">
    $(document).ready(function () {
        $('input:text[id*=fnameTextBox]').val($('input:text[id*=ynameTextBox]').val());
    });
</script>
于 2012-09-06T08:46:15.313 に答える