Dropdown zu Combobox?

Du suchst eine bestimmte Extension, weißt aber nicht genau wo bzw. ob sie überhaupt existiert? Du kannst hier die von dir gewünschte/gesuchte Extension beschreiben ...
Falls ein Extension-Autor eine der Anfragen hier aufnimmt, um eine neue Extension zu entwickeln, geht's in Extensions in Entwicklung weiter.
Antworten
lj_schmitt
Mitglied
Beiträge: 25
Registriert: 25.01.2015 11:56

Dropdown zu Combobox?

Beitrag von lj_schmitt »

ist es möglich das dropdownliste / Auswahlliste in den Profilen (benutzerdefinierten PRofilfelder) zu einer Combobox um zu schreiben? wenn ja wo???
Hier als B.s.p was ich meine:

Code: Alles auswählen

<input type="text" name="staat" list="staatlist">
<datalist id="staatlist">
<option value="Deutsch">
<option value="Österreich">
<option value="Schweiz">
</datalist>

Quelle:
http://webkompetenz.wikidot.com/html-ha ... atenlisten
Lehrling
Ehemaliges Teammitglied
Beiträge: 3833
Registriert: 15.01.2012 20:00
Kontaktdaten:

Re: Dropdown zu Combobox?

Beitrag von Lehrling »

Du kannst eigene Profilfelder anlegen und wenn du die Option Auswahlfeld wählst, ist das dann eine Combobox. Die standardmäßig vorhandenen Profilfelder kannst du nachträglich nicht zu Auswahlfeldern machen.
lj_schmitt
Mitglied
Beiträge: 25
Registriert: 25.01.2015 11:56

Re: Dropdown zu Combobox?

Beitrag von lj_schmitt »

nein eine Combobox ist mit Texteingabe und ein Auswahlmenü ist ohne Texteingabe!

ComboBox Siehe Quelle im oberen Post

Also Die Ausgabe Ansicht möchte ich nur umschreiben damit meine User mit dem Handy aus 1990 Karten wählen können :-D
lj_schmitt
Mitglied
Beiträge: 25
Registriert: 25.01.2015 11:56

Re: Dropdown zu Combobox?

Beitrag von lj_schmitt »

Ich habe mal die html datei gefunden die das macht (./styles/prosilver/template/profilefields/dropdown.html) und habe sie so umgeschrieben:

Code: Alles auswählen

<input type="text" name="{dropdown.FIELD_IDENT}" list="{dropdown.FIELD_IDENT}">
<datalist id="{dropdown.FIELD_IDENT}">
<option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>
</datalist> 
aber es funktioniert nicht, könnt ihr mir sagen was ich falsch mache?

der original Code sieht so aus:

Code: Alles auswählen

<!-- BEGIN dropdown -->
<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
    <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
</select>
<!-- END dropdown --> 
und so der original code der combobox der sonst funktioniert:

Code: Alles auswählen

<input type=text list=browsers >
<datalist id=browsers >
   <option> Google
   <option> IE9
</datalist> 
paddle
Mitglied
Beiträge: 18
Registriert: 01.02.2015 20:11

Re: Dropdown zu Combobox?

Beitrag von paddle »

Hi

Du hast einige Befehle ignoriert, die das Template braucht, um sich aufbauen zu können. Außerdem hast du ein weiteres <input> Tag aufgemacht, welches bereits schon in einer anderen Datei steht.

Das ganze solltest du ca. so beheben:

Code: Alles auswählen

<!-- BEGIN dropdown -->
<input type="text" name="{dropdown.FIELD_IDENT}" list="{dropdown.FIELD_IDENT}">
<datalist name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}" >
         <!-- BEGIN options --><option value="{dropdown.options.SELECTED}"> <!-- END options -->
</datalist> 
<!-- END dropdown --> 
Allerdings wird das auch so nicht funktionieren, weil die Ids nicht übergeben werden, somit die Datenbankeingabe fehlschlagen wird.

Außerdem werden deine Nutzer, die Internet Explorer 9 oder niedriger oder Safari nutzen mit dem datalist-Tag Probleme haben.

Ich würde zumindest nicht nur auf datalist setzen, sondern parallel noch eine JavaScript Lösung anbieten.

Somit ist die Idee Dropdown zu einer datalist zu ändern keine Gute.

Du könntest manuell die einfache Texteingabe anpassen, oder die Datalist als eigenes Eingabeffeld (am besten als Extension) basteln (lassen).

Ich denke die einfachste Möglichkeit für dich, ist eine reine Javascriptlösung, die entsprechend die Vorschläge aus dem Dropdownmenu vorauswählt.
Zuletzt geändert von paddle am 18.02.2015 15:53, insgesamt 1-mal geändert.
lj_schmitt
Mitglied
Beiträge: 25
Registriert: 25.01.2015 11:56

Re: Dropdown zu Combobox?

Beitrag von lj_schmitt »

JAVA hatte ich auch schon in betracht gezogen, hab aber erstmal damit versucht die liste zu sortieren, dies hab ich zwar soweit hinbekommen, aber das problem besteht darin das er alle dropdown auf einmal sortiert :cry: D.h. ich hab 10 profilfelder, alles dropdown, er sortiert mir ins erste dropdown alle mit a-d ins 2. dropdown alle von e-h usw..

Code: Alles auswählen

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>

<!-- BEGIN dropdown -->
<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
    <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
</select>
<!-- END dropdown -->
    
<script type="text/javascript">
$(document).ready(function() {
    var options = $('{dropdown.options.VALUE} option');
     var arr = options.map(function (_, o) { return { t: $(o).text(), v: o.value }; }).get();
     arr.sort(function (o1, o2) { return o1.t.toUpperCase() > o2.t.toUpperCase() ? 1 : o1.t.toUpperCase() < o2.t.toUpperCase() ? -1 : 0; });         
     options.each(function (i, o) {
         o.value = arr[i].v;
         $(o).text(arr[i].t);
     });
    });
</script>
und die Java scombobox funktioniert irgendwie überhaupt nicht :evil: Ich verzweifel bald....

Code: Alles auswählen

<head>
<link href="http://www.deutschehelden.de/styles/prosilver/templates/profilefields/css/jquery.scombobox.css" rel="stylesheet" />
    <script src="http://www.deutschehelden.de/styles/prosilver/templates/profilefields/js/missed.js"></script>
    <script src="http://www.deutschehelden.de/styles/prosilver/templates/profilefields/js/jquery-1.10.1.min.js"></script>
    <script src="http://www.deutschehelden.de/styles/prosilver/templates/profilefields/js/jquery.scombobox.min.js"></script>
    <script src="http://www.deutschehelden.de/styles/prosilver/templates/profilefields/js/jquery.easing.min.js"></script>
</head>

<!-- BEGIN dropdown -->
<select name="{dropdown.FIELD_IDENT}" id="{dropdown.FIELD_IDENT}">
    <!-- BEGIN options --><option value="{dropdown.options.OPTION_ID}"{dropdown.options.SELECTED}>{dropdown.options.VALUE}</option><!-- END options -->
</select>
<!-- END dropdown -->
<script>
$('#{dropdown.FIELD_IDENT}').scombobox({
    fullMatch: true
    // when fullMatch is true
    // then highligh is also true by default
});

function sortDropdownList(ddl){

    var options = [].slice.apply(ddl.options, [0]);
    ddl.innerHTML = "";
    var sorted = options.sort(function(a,b){     
       return +(a.innerText) - +(b.innerText);
    });

    for(var i = 0; i < sorted.length; i++){
      ddl.options.add(sorted[i]);
    }  

}
    </script>
Antworten

Zurück zu „Extension Suche/Anfrage“