0

这是我的html标签,

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

我希望检索跨度标记内的值并将其显示在文本框中,我已经编写了下面的代码,但它似乎不起作用。

任何人都可以帮助解决我的代码的问题吗?

$(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 />

另一种方法是使用属性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 classASP.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(数量);

设置元素的 value 属性,而不是文本,

如果它不是表单元素,请尝试

$('.textfield').text(数量);

或者如果您想添加标记:

$('.textfield').html('<strong>' + 金额 + '</strong>'); // 管他呢

于 2012-11-06T11:33:02.780 回答