2017-07-05 7 views
0

私はオプションのデータリストを持つ入力フォームを持っています。私は、value属性の各単語の最初の文字を大文字にしたいと思います。私が持っているものjQueryを使用すると、データリストのオプション値の各単語の最初の文字を大文字にする方法があります

:あなたのCSSの

<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

[このSO答える](https://stackoverflow.com/questions/2017456/withの可能性のある重複-j-jquery-how-do-i-capitalize-the-first-of-the-user) – Korgrue

答えて

0

、置く:私は必要なもの

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

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

これは実際には機能しません。私はなぜ、紛失しているのですか。 – Count32

+0

typoがありますが、 '#s'でない '#s' –

+0

#statesは#s内にありますが、#statesの変更は何もしません。 – Count32

0

テストされていないが、それは交換する方法のため、このような何かを動作するはずですがthis answerを見て:

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); 
}); 
関連する問題