javascript - 尝试根据下拉选择显示大量文本

标签 javascript php html

作为序言,除了基本的 HTML 之外,我是一个完全的新手,所以我很感激我能得到的任何帮助(如果可能的话,用“for dummies”级别的解释),如果我遗漏了一些基本知识,我深表歉意我的问题中的规则或理解。

我希望下拉菜单(大约 40 个选项)中的每个选项都显示一组文本(每个选项都不同)。每组文本都是多个段落,理想情况下还包含格式(项目符号列表等)。如果人为可能的话,我希望避免每次选择新选择时都必须重新加载页面。另一个挑战是,我认为没有任何实用的方法可以直接在代码中包含所有文本,这意味着我需要找到一种从外部源加载的方法。

我试过使用这段代码(在网站的其他地方找到):

<script type="text/javascript">

    var textBlocks = new Array( 
        'Text block one', 
        'Text block two', 
        'Text block three');

    function changeText(elemid) { 
        var ind = document.getElementById(elemid).selectedIndex; 
        document.getElementById("display").innerHTML=textBlocks[ind]; 
    } 
</script>

<form> 
    <select id="whatever" onChange="changeText('whatever');"> 
        <option value="0">Select</option> 
        <option value="1">One</option> 
        <option value="2">Two</option> 
    </select><br> 
</form> 

尝试并能够在数组中包含文本文件或任何其他内容。 (我知道有一种方法可以通过 PHP 加载文本文件,但不知道我是否可以以某种方式将其包含在数组中。)

对于上述代码或全新建议,我将不胜感激。

最佳答案

理想情况下,您应该使用 ajax 基于某种 Id 从服务器加载数据。 但是,如果您想对其进行硬编码,您可以执行以下操作(非常简单):

var data = {
    0: "Large Amount of text",
    1: "Some more text",
    2: "You get the drill ..."
};

function changeText(id) {
    document.getElementById("content").innerHTML = data[id];
}
<select id="whatever" onchange="changeText(this.value);">
    <option value="0">Select</option>
    <option value="1">One</option>
    <option value="2">Two</option>
</select>
<div id="content"></div>

在其他情况下,您执行 ajax 调用(伪代码,因为我不够硬核,无法在没有 jquery 的情况下执行 ajax):

function changeText(id) {
   showAFancyAjaxLoader();

   fetchContentFromServer(id).done(function(response) { 
      hideFancyAjaxLoader();
      document.getElementById("content").innerHTML = response;
   });
}

你明白了。

关于javascript - 尝试根据下拉选择显示大量文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27866336/

相关文章:

javascript - 如何做 react 导航路线? (标签)

php - 在 PHP MySQL 查询中获取外键对象的简洁方法

javascript - 引用对象内的属性

javascript - 数据 URI 在 Firefox 上不显示

php - 请帮忙检查连接,我已经在这上面卡了好几个小时了=(

javascript - 下载所有外部链接,例如(pdf/图像)必须自动下载

html - 不存在但存在的边距导致元素下降到新行,因为组合宽度 >100%

javascript - 滚动后更改导航栏颜色?

Javascript 选择下拉菜单 onchange 未正确触发

php - 将更改的变量分配给同一变量是否安全?