2012-04-12 14 views
0
例えば

、選択ボックス表示選択ボックスのオプションが選択されている変数

<select> 
    <option selected="" value="">Please Select</option> 
    <option value='txt'>Text</option> 
    <option value='int'>Numbers</option> 
    <option value='bool' >Boolean</option> 
</select> 

は私が達成したい何

$messageList=array ('txt'=>'text message', 'int'=>'int message', 
        'bool'=>'bool message'); 

がときoptitionメッセージを対応表示する文字列を持っています選択ですか?

+0

どのように対応するメッセージを表示しますか?アラートボックスに?別の要素ですか? –

答えて

4

私はPHPを知らないけど、まずはjson_encodeを使ってphp配列をjavascriptオブジェクトに変換する必要があると思います。 http://php.net/manual/en/function.json-encode.php

<?php 
    $messageList=array ('txt'=>'text message', 'int'=>'int message','bool'=>'bool message'); 

    echo var msgs = json_encode($messageList); 
?> 

そしてJavaScriptでは、

$('select').change (function() { 
    alert(msgs[$(this).val()]); 
}); 

はまた、あなたは選択のためのclass/idを必要としています。ページ内の選択ボックスのオプションを変更すると、上記のコードがトリガされるためです。あなたが投稿配列が(あなたがPHPの連想配列表記法を使用していたらしい)JavaScriptオブジェクトであることを意味したと仮定すると

+0

メッセージがデータベースによるクエリの場合はどうなりますか?それはうまくいくのですか? – user782104

+0

@ user782104先ほど言及したように、私はPHPの人ではありません。しかし、データベースの戻り値があれば、 'json_encode'はあなたにjavascriptオブジェクトを与えます。 javascript。 –

+0

警告の代わりにどのようにHTMLコンテンツのように画面に表示できますか? – user782104

0

​var sel = document.getElementsByTagName('select')[0], 
    $messageList= { 
    'txt' : 'text message', 
    'int' : 'int message', 
    'bool' : 'bool message' 
    }; 

sel.onchange = function(){ 
    var selected = this.value; 
    alert($messageList[selected]); 
};​​ 

JS Fiddle demo

0

あなたはjQueryを使ってこれをしたい場合:ここ

$messageList= { 'txt':'text message', 'int':'int message','bool':'bool message' }; 

$('#choices').change(function() { alert($messageList[ $(this).val() ]); });​ 

JFiddle:

http://jsfiddle.net/yCHqy/

関連する問題