Проверка JQuery с именами Textbox на странице ASP.NET MVC? - PullRequest
0 голосов
/ 12 февраля 2010

У меня есть два элемента управления Textbox на мой взгляд. Здесь функция проверки jQuery работает, когда имя - одно слово. Он не работает, если в имени есть какие-либо точки.

В приведенной ниже функции jQuery, если я использую для проверки идентификатор текстового поля « фамилия », он не разрешает использовать другие ключи, кроме цифр. Но каким-то образом, если я использую идентификатор текстового поля « AddressDetail.ZipCode », чтобы разрешить только цифры, это не вызов. Я должен использовать только AddressDetail.ZipCode, так как он ссылается на дочернюю таблицу.

Вот мой код.

<table>
    <tbody>

<tr><td class="Form_Label"><label for="LastName">Last Name</label><em>*</em></td>
        <td CssClass="Form_Value"><%= Html.TextBox("lastname", Model.LastName, new { @class = "required", size = "30" })%></td></tr>

      <tr><td class="Form_Label"><label for="Zip">Zip</label><em>*</em></td>
        <td CssClass="Form_Value"><%= Html.TextBox("AddressDetail.ZipCode", Model.AddressDetail.FirstOrDefault().ZipCode, new { @class = "required zip", minlength = "5"})%></td></tr>

<tr><td colspan="2" align="center"><input type="submit" id="btnUpdProfile" value="Update" /> </td></tr>

Проверка функции JQuery:

<script type="text/javascript">


    $(document).ready(function() {
        //Disabling all other keys except digits
        $('#AddressDetail.ZipCode').live('keypress', function(e) {
            var keyPressed;
            if ((e.charCode) && (e.keyCode == 0))
                keyPressed = e.charCode
            else
                keyPressed = e.keyCode;
            if (keyPressed < 48 || keyPressed > 57) {
                return false;
            }
            return true;
        });
    });

</script> 

    </tbody>
</table>

1 Ответ

2 голосов
/ 12 февраля 2010

. интерпретируется как селектор класса. Вы хотите:

$('#AddressDetail\\.ZipCode')

Двойной обратный слеш оценивается парсером как '#AddressDetail\.ZipCode'. jQuery видит обратную косую черту перед точкой и интерпретирует ее буквально, а не как селектор класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...