【问题标题】:Adding selected item from a drop down populated by javascript to a text box将由 javascript 填充的下拉列表中的选定项目添加到文本框
【发布时间】:2012-11-29 08:44:49
【问题描述】:

您好,我有一个下拉列表,其中的项目由 javascript 填充,并且没有选项标签。当页面加载时,下拉列表会通过外部 JavaScript 文件加载所有选项。当用户从这个下拉列表中选择一个项目时,我希望这个选定的项目用他们的选择更新一个文本框(在同一页面上),这样我就可以通过电子邮件发送它。

我可以让它在一个普通的下拉菜单上工作,而实际选项标签不是由 javascript 填充的,但不能让它与我的填充下拉菜单一起工作。我已经阅读了各种帖子,这些帖子将使用 JavaScript 填充的下拉项目不会被服务器读取,因为它都是在客户端完成的,并且解决方法涉及将填充的下拉选择添加到隐藏字段,但我找不到方法这样做。我也在使用经典的 ASP 来发送表单

希望有人能帮忙,

您好,我忘了提到下拉列表由内联 JavaScript 填充,而不是来自外部 JS 文件

你好,我用过的一些代码,对于正常的下拉菜单工作正常,但不是我用 JS 填充的代码

function ChooseContact(data) {

document.getElementById ("friendName").value = data.value;

}


<select onchange="ChooseContact(this)"><option value='1'>1</option><option  value='2'>2</option></select>

谢谢R

您好 - 全部使用此外部脚本完成 http://www.dynamicdrive.com/dynamicindex1/chainedmenu/index.htm

您好,这是填充下拉列表的外部 JS 文件的片段

/var hide_empty_list=true; //uncomment this line to hide empty selection lists

var disable_empty_list=true; //取消注释此行以禁用空选择列表

var onclickaction="alert" //设置为“alert”或“goto”。前者用于调试目的,告诉您将用作目标 URL 的最终选定列表的值。根据需要设置以下配置时设置为“goto”。

var newwindow=0 //是否在新窗口中打开链接? 1=是,0=否。

/////在下面定义您的菜单列表和项目///////////////

addListGroup("chainedmenu", "First-Select");

addOption("First-Select", "Select a course type", "", 1); //HEADER OPTION
addList("First-Select", "New Staff", "", "NewStaff");
addList("First-Select", "All Staff", "", "AllStaff");
addList("First-Select", "Learning, Teaching, Research and Knowledge Exchange", "",   "Learning");

addList("First-Select", "Leaders and Managers", "", "Leaders");

【问题讨论】:

  • 表单发布时,应该发送下拉列表的值,为什么需要将其传递给单独的隐藏/文本框?
  • 发布一些你迄今为止尝试过的代码
  • 您肯定可以从填充的下拉列表中获取信息。只要你没有在 IE 中使用纯 JS。
  • 如何填充下拉列表。也发布该代码

标签: javascript html drop-down-menu asp-classic


【解决方案1】:

使用您发布的代码,应该完全有可能实现您想要做的事情。我已经构建了一个扩展您的代码的示例,以向您展示如何更新输入字段。

看到这个jsFiddle

还有一个向您展示如果所有选项都是通过 JavaScript 生成的,它应该仍然有效。那么也许您遇到的问题在其他地方?

<select id="selecty" onchange="ChooseContact(this)"></select>
<input type="text" id="friendName" />

<script>
    var opt = document.createElement("option");
    opt.text = "One";
    opt.value = "1";
    document.getElementById("selecty").add(opt,null);

    opt = document.createElement("option");
    opt.text = "Two";
    opt.value = "2";
    document.getElementById("selecty").add(opt,null);

    opt = document.createElement("option");
    opt.text = "Three";
    opt.value = "3";
    document.getElementById("selecty").add(opt,null);

    function ChooseContact(data) {
        document.getElementById("friendName").value = data[data.selectedIndex].value;
    }
</script>

看到这个jsFiddle

【讨论】:

  • 但是如何在填充的下拉列表中选择一个项目呢?
  • 它应该以完全相同的方式工作,我已经用动态添加的选项更新了 jsFiddle 来演示这一点。
  • 它只是不想用任何 JavaScript 读取值,以上不起作用
  • 嗨,它仍然不会读取所选值继承我的正文 onload 事件 ehcih 加载下拉项目
  • 您好 Klors,感谢您的帮助。正如您所做的那样,这适用于
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
  • 2014-05-24
  • 1970-01-01
相关资源
最近更新 更多