2017-07-05 7 views
0

Großschreibung zu machen Ich habe ein Eingabeformular mit einer Datenliste von Optionen. Ich möchte den ersten Buchstaben jedes Wortes im Value-Attribut groß schreiben.Mit jQuery gibt es eine Möglichkeit, den ersten Buchstaben jedes Wortes in einem Wert der Datenlistenoption

Was ich habe:

<div class="input-group"> 
<input type="text" name="q" id="s" list="states" class="form-control" placeholder="Enter State Name Here" data-bvalidator="required"> 
<datalist id="states"> 
    <option value="New hampshire"></option> 
    <option value="New jersey"></option> 
    <option value="New mexico"></option> 
    <option value="New york"></option> 
    <option value="North carolina"></option> 
    <option value="North dakota"></option> 
    <option value="Rhode island"></option> 
    <option value="South carolina"></option> 
    <option value="South dakota"></option> 
    <option value="West virginia"></option> 
</datalist><span class="input-group-btn"><button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-play"></span></button> 
</span> 

Was ich brauche:

<div class="input-group"> 
<input type="text" name="q" id="s" list="states" class="form-control" placeholder="Enter State Name Here" data-bvalidator="required"> 
<datalist id="states"> 
    <option value="New Hampshire"></option> 
    <option value="New Jersey"></option> 
    <option value="New Mexico"></option> 
    <option value="New York"></option> 
    <option value="North Carolina"></option> 
    <option value="North Dakota"></option> 
    <option value="Rhode Island"></option> 
    <option value="South Carolina"></option> 
    <option value="South Dakota"></option> 
    <option value="West Virginia"></option> 
</datalist><span class="input-group-btn"><button class="btn btn-default" type="submit"><span class="glyphicon glyphicon-play"></span></button> 
</span> 

+0

Mögliche Duplikat [diese SO beantworten] (https://stackoverflow.com/questions/2017456/with -jquery-how-do-i-Großbuchstaben-der-erste-Buchstabe-eines-Text-Feld-während-des-Benutzers) – Korgrue

Antwort

0

in Ihrem CSS, setzen:

#s option { 
text-transform: capitalize; 
} 
+0

Dies funktioniert nicht wirklich. Ich weiß nicht, warum. – Count32

+0

Es gibt einen Tippfehler, es ist "#States" nicht "#s" –

+0

#States ist in #s, und doch macht die Änderung zu #states nichts. – Count32

0

Ungeprüfte, aber es sollte in etwa so funktionieren, dass das Verfahren einen Blick auf this answer haben ersetzen:

function toTitleCase(str) { 
    return str.replace(/\w\S*/g, function(txt) { 
     return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); 
    }); 
} 
// grep all options 
var dataList = $('#states').find('option'); 
// loop over them 
dataList.each(function() { 
    // and replace the original value 
    this.value = toTitleCase(this.value); 
}); 
Verwandte Themen