0
$("[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]、未定义或一些长函数字符串。

<asp:Label ID="HealthCareReimbursementNumPayPeriodsTxt" runat="server">

如果有帮助,我将在代码隐藏中设置此标签的文本

4

5 回答 5

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) { }
    });
});
于 2012-08-23T21:26:44.233 回答
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) { }
          });
于 2012-08-24T17:53:02.997 回答
0

尝试这个:

val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0].val();
于 2012-08-23T21:34:35.097 回答
0

要么val2.htmlval2.text应该工作。.val仅适用于输入和其他保存值的控件(例如 HiddenFields),不适用于刚刚转换为 HTML 元素(例如标签)的控件。

于 2012-08-24T02:08:46.477 回答
0

您说标签正在更改为 a <span></span>,它没有val属性。我认为您需要使用,因为您需要标签之间.html()的文本。

IE

val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]").html();

于 2012-08-23T22:43:46.167 回答