Pergunta

Eu tenho este formulário:

<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>

Como posso seleccionar o input e select com seletor de um jQuery?

Eu tentei isso, mas é selecionado todos os seleciona e entradas na página:

$("form[name='customize'] select,input")
Foi útil?

Solução

A vírgula na cadeia de seletor separa expressões completamente separadas, assim como em CSS, de modo que o selector você deu recebe os elementos selecionados dentro do formulário chamado "personaliza" e todas as entradas no formulário (como você descreveu) . Parece que você quer algo parecido com isto:

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

ou se você não estiver em repitition, isto:

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

Outras dicas

A sintaxe $ mais curto (selector, parentselector) também é possível. Exemplo desta página:

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

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

Edit - Eu esqueci o caso particular de vários tipos de crianças

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

Para mim a sua sugestão funcionou. Você também pode usar

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

Os dois seletores de trabalhar como eu vê-lo. Talvez as mentiras de problema em algum outro lugar?

Eu tentei

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

em seu exemplo HTML. O tamanho da fonte para selecionar e entrada alterado.

--- --- editar

A minha sugestão acima é o caminho certo. Ele seleciona apenas os elementos em forma-customize.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top