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

Display a variable when a select box option is selected

本文关键字:显示 变量 选项 选择      更新时间:2023-09-26

例如,选择框

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

我想实现的是选择时显示相应的消息?

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

假设你发布的数组是一个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小提琴演示。

如果你想

用jQuery来做到这一点:

$messageList= { 'txt':'text message', 'int':'int message','bool':'bool message' };
$('#choices').change( function() { alert( $messageList[ $(this).val() ] ); } );​

JFiddle 在这里:

http://jsfiddle.net/yCHqy/