0

ここに私のhtmlタグがあります、

 <asp:Label runat="server" ID="rdPayOutstanding"></asp:Label><br />

span タグ内の値を取得してテキストボックスに表示したいのですが、以下のコードを書いたのですがうまくいきません。

誰でも私のコードの問題を解決できますか?

$(document).ready(function () {
var amount = $('#rdPayOutstanding').text().toString();
console.log(amount);
$('.textfield').val(amount);
$('.jsPayOutstanding').click(function () {
    $('.textfield').val(amount);
});

$('.jsPaySomeBalance').click(function () {
    // alert('yes');
    $('.textfield').val('');
});
});
4

4 に答える 4

0

問題は、ASP.NET を使用していて、コントロールが ASP.NET エンジンをレンダリングするときに、結果の HTML 要素の ID が変更されることです。

属性ClientIDModeを追加して、「正しい」ID を取得できます。

<asp:Label runat="server" ID="rdPayOutstanding" ClientIDMode="Static"></asp:Label><br />

もう 1 つの方法は、属性CssClassを使用し、代わりにクラスで選択することです。

<asp:Label runat="server" ID="rdPayOutstanding" CssClass="rdPayOutstanding"></asp:Label><br />
于 2012-11-06T11:30:25.573 に答える
0

以下に示すように、ラベルのクライアント ID を使用して値を取得してみてください

var amount = $('#<%=rdPayOutstanding.ClientID%>').val();
console.log(amount);
于 2012-11-06T11:31:04.947 に答える
0

に を割り当てることができCSS classますASP.NET Label

<asp:Label runat="server" ID="rdPayOutstanding" class="mylabel"></asp:Label>

次に、このようなことができます

var amount = $('.mylabel').text();

ノート:

そのラベルの値を取得できない理由はID、レンダリング時にクライアントが変更された可能性があるためです。要素を調べて、そのID.

于 2012-11-06T11:31:05.410 に答える
-1

フォーム.textfield要素かどうか

$('.textfield').val(金額);

テキストではなく、要素の値属性を設定します。

フォーム要素でない場合は、試してください

$('.textfield').text(金額);

または、マークアップを追加したい場合:

$('.textfield').html('<strong>' + 金額 + '</strong>'); // または何でも

于 2012-11-06T11:33:02.780 に答える