jQuery .val()获取和设置问题

时间:2012-10-16 04:14:30

标签: jquery asp.net

我一直在使用jQuery,这对我来说毫无意义。任何人都可以解释为什么会这样吗?我有一个隐藏字段<asp:HiddenField ID="hidIsValid" runat="server" />,我有这个代码为它分配一个值。

这花了我几个小时决定尝试改变我设置值的方式,现在它可以工作,但看起来这是错误的方式:

  $('#<%= hidIsValid.ClientID %>').val("true");  **This line never worked
  $('#<%= hidIsValid.ClientID %>').val() = "true";  **this line does work

我来自这里,我拿出了很多代码,这只是显示相关的行。

      function fnValidateAttendees() {
       // $('#<%= hidIsValid.ClientID %>').val("true");  **This line never worked
        $('#<%= hidIsValid.ClientID %>').val() = "true";            
        $('.tFirstName, .tLastName').each(function () {
            if (!($(this).val().match(/^[a-z -']+$/))) {                    
                $('#<%= hidIsValid.ClientID %>').val("false"); //**this line works
            }              
        });
        $('.tPhoneNumber').each(function () {
            if (!($(this).val().match(/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/))) {                   
                $('#<%= hidIsValid.ClientID %>').val("false"); //**this line works
            }
        });
        $('.tEmail').each(function () {
            if (!($(this).val().match(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/))) {
                $('#<%= hidIsValid.ClientID %>').val("false"); //this line works
            }
        });
        return true;
    }        

有人可以理解这个

2 个答案:

答案 0 :(得分:1)

你怎么能知道这不起作用..

使用.val()设置值不会立即反映在DOM中。

也许这就是你觉得它不起作用的原因..

这也没有任何意义..

$('#<%= hidIsValid.ClientID %>').val() = "true"; 

答案 1 :(得分:0)

您可以使用attr jQuery API来设置值。

$('#<%= hidIsValid.ClientID %>').attr('value','true'); 

或尝试删除引文。

$('#<%= hidIsValid.ClientID %>').val(true);