При выборе элемента внутри другого этот метод действителен?Если нет, как мне это сделать? - PullRequest
1 голос
/ 20 декабря 2011

<table class="tableData" id="addUserTable" >
    <tr>
        <th class = "" name="errorMsgUser" id="errorMsg" value="" colspan="2">&nbsp;</th>
    </tr>
    <tr>
        <th class= "" > Desired Username <span class="required">*</span></th>
        <td><input name="desUname" type="text" id="desUname" size="30" value=""  /></td>
    </tr>
    <tr>
        <th class= "" > Password <span class="required">*</span></th>
        <td><input type="password" name="password" id="password" value="" size="30" /></td>
    </tr>       
    <tr>
        <th></th>
        <td>
            <input name="submitAddUser" type="submit" id="submitAddUser" value="Add User" />
            <input type="button" value="Clear All" id="clearUpdateForm"></input>
        </td>
    </tr>
</table>

Когда нажата кнопка «clearUpdateForm», мне удалось очистить все записи формы. Как мне затем сфокусировать первое текстовое поле ввода?Я хочу общее решение.Пока это мой скрипт jquery:

    $(function(){$("#clearUpdateForm").click(function(){
        $(this).parents('form').find(':input').each(function() {
            switch(this.type) {
                case 'password':
                case 'select-multiple':
                case 'select-one':
                case 'text':
                case 'textarea':
                    $(this).val('');
                    break;
                case 'checkbox':
                case 'radio':
                    this.checked = false;
            }});
        $('input#desUname').focus();    
    });});

Могу ли я заменить последнюю строку кода на эти две строки:

    var parentId = "#" + $(this).parents('form').attr("id") ;
    $("parentId input[type=text]:first").focus();

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

последняя строка может быть заменена на

    var parent = $(this).closest('form');
    parent.find('input[type=text]:first').focus();
0 голосов
/ 20 декабря 2011

Это будет работать, если вы измените вторую строку на:

  $(parentId+" input[type=text]:first").focus();

Или вы можете просто использовать:

$(this).parents('form').find('input:first').focus();

Таким образом, это будет работать, даже если в форме нет идентификатора.

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