选择选择框选项时显示变量

时间:2012-04-12 17:17:02

标签: javascript jquery html

例如,选择框

<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');

我想要实现的是在选择选择时显示相应的信息?

3 个答案:

答案 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来进行选择。因为当您更改页面中任何选择框的选项时,将触发上述代码。

答案 1 :(得分:0)

假设您发布的数组是一个JavaScript对象(似乎您使用的是PHP的关联数组表示法):

​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

答案 2 :(得分:0)

如果你想用jQuery做到这一点:

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

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

JSFiddle:

http://jsfiddle.net/yCHqy/