$("[id$=HealthCareReimbursementPerPayPeriodTxt]").blur(function (evt) {
try {
val1 = (this.value);
alert(val1);
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]");
alert(val2.value);
}
catch (e) { }
});
我通过通配符选择它们,因为它在母版页中。 val1工作正常(文本框),但val2(标签)永远不会得到我需要的东西。我还尝试过val2.text,val2.val,valueOf(val2),val2.html,val2.attr(' text')。我要么得到Object [object],undefined,要么是一些长函数字符串。
<asp:Label ID="HealthCareReimbursementNumPayPeriodsTxt" runat="server">
如果有帮助,我在codebehind
中设置此标签的文本答案 0 :(得分:0)
在您的代码中,您需要更改此
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]");
通过
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0];
jQuery选择器不直接返回DOM对象。您还可以使用类选择器
<asp:Label ID="HealthCareReimbursementTotalLbl" Text="0.00" runat="server"
CssClass="healthCareReimbursementTotalLbl"></asp:Label>
然后你可以做
$(function(){
$(".healthCareReimbursementTotalTxt").blur(function (evt) {
try {
val1 = (this.value);
alert(val1);
val2 = $(".healthCareReimbursementTotalLbl")[0];
alert(val2.value);
}
catch (e) { }
});
});
答案 1 :(得分:0)
试试这个:
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0].val();
答案 2 :(得分:0)
您说标签已变为<span></span>
,但不会有val
属性。我认为您需要使用.html()
,因为您需要标签之间的文本。
即
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]").html();
答案 3 :(得分:0)
val2.html
或val2.text
应该有效。 .val
仅适用于包含HiddenFields等值的输入和其他控件,而不适用于刚刚转换为HTML元素(如标签)的控件。
答案 4 :(得分:0)
试试这个
$("[id$=HealthCareReimbursementPerPayPeriodTxt]").blur(function (evt) {
try {
val1 = (this.value);
alert(val1);
// first try wether your are getting this elemnt or not
alert($("[id$=HealthCareReimbursementNumPayPeriodsTxt]").length);
if ($("[id$=HealthCareReimbursementNumPayPeriodsTxt]").length > 0) {
alert("item found");
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]");
alert(val2.val());
// if it does not work try
// alert(val2.html()); or alert(val2.text);
}
else {
alert("item not found");
}
}
catch (e) { }
});