Frage

Ich habe diese Form:

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

Wie kann ich wählen Sie die input und select mit einem jQuery-Selektor?

Ich habe versucht, aber es ausgewählt alle der wählt und Eingaben auf der Seite:

$("form[name='customize'] select,input")
War es hilfreich?

Lösung

Das Komma in dem Selektor-String trennt völlig getrennte Ausdrücke, so wie in CSS, so dass die Wählern Sie gegeben haben, bekommen die ausgewählten Elemente im Formular mit dem Namen „anpassen“ und alle Eingaben auf dem Formular (wie Sie beschrieben haben) . Es klingt wie Sie so etwas wie dies wollen:

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

oder wenn Sie nicht in repitition, folgt aus:

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

Andere Tipps

Eine kürzere Syntax $ (Selektor, parentselector) ist ebenfalls möglich. Beispiel auf dieser Seite:

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

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

Bearbeiten - Ich habe vergessen, den besonderen Fall von mehreren Arten von Kindern

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

Für mich Ihren Vorschlag gearbeitet. Sie können auch verwenden

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

Beide Selektoren arbeiten, wie ich es sehe. Vielleicht ist das das Problem liegt woanders?

Ich habe versucht,

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

auf Ihrem Beispiel HTML. Die Schriftgröße für Auswahl und Eingabe geändert.

--- edit ---

Mein Vorschlag oben ist die richtige. Er wählt nur die Elemente in der besonders anfertigen-Form.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top