2016-09-13 6 views
-1

Sqlの選択オプション値を大文字にしたいと考えています。 さて、次のコードは正常に動作します - しかし、最初のフィールドだけに...各フィールドでJquery関数を実行します。

function capitalize(str){ 
var text = str.text().replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase(); }); 
return str.text(text); 
}capitalize($('#op')); 

私のHTMLフィールドがある(私はPUG/JADEで働いていると、これがしようとしてのために私の最高である。このようになります

<select class="select_input"> 
<option value=$emp['id'] id="op" selected="selected">$emp['value']</option>* 
<?php foreach ($type as $type_val) ?> 
<option value=$type_val['id']>$type_val['val']</option> 
<?php endforeach?> 

<select class="select_input"> 
<option value=$emp['id'] id="op" selected="selected">$emp['value']</option>* 
<?php foreach ($type as $type_val) ?> 
<option value=$type_val['id']>$type_val['val']</option> 
<?php endforeach?> 
  • DBから来て最初の値:デモンストレーションの目的)のために変換します。私は前に述べたように、スクリプトは最初のフィールドだけで実行されます

...

+0

なぜあなたはサーバー側で大文字にしませんか? – user489872

+0

IDは一意である必要があります。/$ {return $ 1.toUpperCase()} $ {'select_input option}'を使用すると、 ;}}); ' – Tushar

答えて

1

あなたは間違った方法でidを使用しています。各IDはhtmlページで一意でなければなりません。

// will work only for first object 
capitalize($('#op')) 

てみクラスを使用する代わりに

<select class="select_input"> 
<option value=$emp['id'] id="op" class="option" selected="selected">$emp['value'] </option>* 
<?php foreach ($type as $type_val) ?> 
<option value=$type_val['id'] class="option">$type_val['val']</option> 
<?php endforeach?> 


capitalize($(".option")) 
+0

aleksv - これは私の最初の選択肢でした...しかし、私は変更することができない特定のプロジェクトのメソッドを使用しているので、ちょっと複雑です... Sensei James - ありがとう - 残念ながら、もう一つの問題は...今では、各フィールドで配列全体を取得する代わりに、それは一つの値..... – user3387719

+0

私は自分の答えを更新したので、JSは全く必要ありません。 –

0

あなただけで、各ドロップダウン項目を活用するためにCSSを使用することができます。

#op > option { 
    text-transform: capitalize; 
} 
0

は....他の方法、サーバーを、それを手に入れたん残念ながら

public function capitalize($arr) 
    { 
    foreach ($arr as $key => $val) { 
     $data[$key] = ucfirst($val); 
    } 

     return $data; 
    }//end capitalize() 
関連する問題