Вопрос

У меня есть эта форма:

<form name="customize">
    Only show results within 
        <select name="distance" id="slct_distance">
            <option>25</option>
            <option>50</option>
            <option>100</option>
            <option value="10000" selected="selected">Any</option>
    </select> miles of zip code
    <input type="text" class="text" name="zip_code" id="txt_zip_code" />
    <span id="customize_validation_msg"></span>
</form>

Как выбрать input и select с помощью одного селектора jQuery?

Я пробовал это, но он выбрал все варианты выбора и входы на странице:

$("form[name='customize'] select,input")
Это было полезно?

Решение

Запятая в строке селектора разделяет совершенно отдельные выражения, как в CSS, поэтому селектор, который вы указали, получает элементы выбора в форме с именем " customize " и все данные в форме (как вы описали). Похоже, вы хотите что-то вроде этого:

$("form[name='customize'] select, form[name='customize'] input")

или если у вас нет повторений, это:

$("form[name='customize']").children("select, input")

Другие советы

Более короткий синтаксис $ (селектор, родительский селектор) также возможен. Пример на этой странице:

// all spans
$("span").css("background-color","#ff0");

// spans below a post-text class
$("span", ".post-text").css("background-color","#f00");

Изменить - я забыл конкретный случай нескольких видов детей!

// spans and p's below a post-text class
$("span,p", ".post-text").css("background-color","#f00");

Для меня ваше предложение сработало. Вы также можете использовать

form[name='customize'] select, form[name='customize'] input

Оба селектора работают так, как я вижу. Может быть, проблема в другом?

Я пытался

$("form[name='customize'] select, input").css( 'font-size', '80px' );

в вашем примере HTML. Изменен размер шрифта для выбора и ввода.

--- редактировать ---

Мое предложение выше является правильным. Он выбирает только элементы в форме настройки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top