0

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

我可以让它在一个正常的下拉菜单上工作,实际选项标签不是由 javascript 填充的,但不能让它与我的 Populated 下拉菜单一起工作。我已经阅读了各种帖子,这些帖子将使用 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");

4

1 回答 1

0

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

看到这个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

于 2012-11-29T09:58:35.030 回答