2016-08-02 4 views
-6

ich eine Dropdown-Liste mit diesem Code erstellt haben:Suchfeld placehoder Text sollte sich ändern, wenn eine Option aus einer Dropdown-Liste ausgewählt ist

<select class="selectpicker" id="select_designatfirst" title="Select Designation"> 
    <?php foreach ($this->hierarchydisp as $val) { ?> 
    <option value="<?php echo $val['hierarchy_id']; ?>" ><?php echo $val['hierarchy_name'] ?></option> 
    <?php } ?> 
    </select> 

Bisher habe ich diesen Ausgang bin immer.

Ich versuche, das Suchfeld Platzhalter-Text pro in der Dropdown-Liste zu ändern.

Das Suchfeld sieht wie folgt aus:

<input type="text" class="form-control" id="empSearch" placeholder="Search Employees"> 

Der Platzhalter-Text in das Suchfeld sein sollte: Search Company Admin wenn Benutzer Firma Admin aus dem Auswahlfeld auswählt.

+0

Sie müssen den Code, den Sie stecken in der Frage als ein [MCVE]. Lesen Sie [Wie Sie eine gute Frage stellen] (/ help/how-to-ask). Was du gepostet hast, ist noch nicht einmal eine Frage. – Tibrogargan

+0

Mit "Etikett" meinen Sie den Platzhaltertext? Oder ein Label-Tag, das nicht im Code angezeigt wird? Es ist nicht ganz klar, was Sie fragen. –

+0

@UselessCode der Platzhaltertext der Textbox. –

Antwort

1

Sie benötigen ein change Ereignis an das Auswahlfeld zu befestigen. In ihm grab the text from the selected option und setzen Sie das placeholder Attribut auf das Suchfeld.

var select_designatfirst = $('#select_designatfirst'), 
    empSearch = $('#empSearch'); 

select_designatfirst.on('change', function() { 
    empSearch.attr('placeholder', 'Search ' + select_designatfirst.find(':selected').text()); 
}); 

jsFiddle example

Das heißt, es sei denn, das Suchfeld weit aus dem Drop entfernt wird nach unten ist es wahrscheinlich nicht notwendig ist, dies zu tun. Solange das Dropdown-Feld entsprechend beschriftet ist und seine Funktion klar ist, sollte es offensichtlich sein, dass es die Suchergebnisse auf nur einen bestimmten Mitarbeitertyp beschränkt.

0

Wenn ich Ihre Frage richtig verstanden habe, dann sollten Sie einen Event-Handler zum selectbox Onchange Ereignis wie so hinzufügen:

<select onchange="document.getElementById('empSearch').placeholder = this.value" class="selectpicker" id="select_designatfirst" title="Select Designation"> 
<?php foreach ($this->hierarchydisp as $val) { ?> 
<option value="<?php echo $val['hierarchy_id']; ?>" ><?php echo $val['hierarchy_name'] ?></option> 
<?php } ?> 
</select> 

Das obige Beispiel wird der Wert des Dropdown (in Ihrem Beispiel die ID) setzen als der Platzhalter der Textbox. Wenn Sie den Textwert verwenden möchten, können Sie zum Beispiel die Technik hier erwähnt verwenden:

Get selected text from a drop-down list (select box) using jQuery

+0

ich tat das selbe wie oben, nichts änderte sich. –

+0

Mit '.value' würde der Platzhaltertext die' hierarchy_id' anzeigen, ich denke, er möchte wahrscheinlich stattdessen 'hierarchy_name' anzeigen. –

+0

Das ist genau das, was ich im letzten Absatz gesagt habe :) – Robba

Verwandte Themen