Вы можете использовать AJAX для чтения в файлах.
Вы добавите функцию «onchange» в выпадающий список, чтобы каждый раз, когда пользователь изменял ее, функция ajax запускалась (извлекала содержимое файла) и вставляла этот текст в текстовое поле.
Вот аналогичная ситуация, в которой PHP использовался в фоновом режиме для генерации текста ... но вы можете изменить его так, чтобы он просто вызывал соответствующий файл на основе выбора (или, если хотите, создавал один файл PHP). который отображает правильный текст, основанный на некоторой переменной GET [или POST, если хотите])
Заполнение раскрывающегося списка - PHP Ajax MySQL
вы также измените место назначения данных из раскрывающегося списка в текстовую область. Итак, вот некоторый код ... он использует гипотетический getMyText.php (передавая ему переменную 'file') и ожидает текст обратно, который затем помещает в текстовую область.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script>
function changeText(choice){
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var res=xmlhttp.responseText;
document.getElementById("myText").innerHTML=res;
}
}
xmlhttp.open("GET","getMyText.php?file="+choice,true);
xmlhttp.send();
}
</script>
<select onChange="changeText(this.value)">
<option value="opt1">Option1</option>
<option value="opt2">Option2</option>
</select>
<textarea id="myText"></textarea>
</body>
</html>
РЕДАКТИРОВАТЬ: Использование jQuery
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<script>
function changeText(choice){
$.get('so_getfile.php?file='+choice, function(data) {
$('#myText').html(data);
});
}
</script>
<select onChange="changeText(this.value)">
<option></option>
<option value="1">Option1</option>
<option value="2">Option2</option>
</select>
<textarea id="myText"></textarea>
</body>
</html>
веб-сервис PHP:
<?php
$array = array('file1.txt', 'file2.txt');
$file = $array[$_GET['file']-1];
$text = fopen($file,'r');
if ($text) {
while (($buffer = fgets($text, 4096)) !== false) {
echo $buffer;
}
if (!feof($text)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($text);
}
?>