Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中指定要复制的内容_Javascript_Html - Fatal编程技术网

如何在Javascript中指定要复制的内容

如何在Javascript中指定要复制的内容,javascript,html,Javascript,Html,我有一个复制下拉列表中内容的小脚本。但是我希望下拉菜单显示firstname,当firstname被选中时,我希望它将lastname复制到外部。我需要使用除VALUE JS: HTML: 选择一个人: 名字 名字 名字 名字 或者参见此处为每个添加数据姓氏属性: 工作示例(尝试菜单中的第一个选项)为每个添加数据姓氏属性: 工作示例(尝试菜单中的第一个选项)您不应该仅仅为了提供带有附加数据的而滥用元素的id属性。 正如中所建议的,您可以指定一个附加属性,如data lastname,然后在脚

我有一个复制下拉列表中内容的小脚本。但是我希望下拉菜单显示firstname,当firstname被选中时,我希望它将lastname复制到外部。我需要使用除
VALUE

JS:

HTML:


选择一个人:
名字
名字
名字
名字

或者参见此处

为每个
添加
数据姓氏
属性:


工作示例(尝试菜单中的第一个选项)

为每个
添加
数据姓氏属性:


工作示例(尝试菜单中的第一个选项)

您不应该仅仅为了提供带有附加数据的
而滥用元素的
id
属性。 正如中所建议的,您可以指定一个附加属性,如
data lastname
,然后在脚本中访问该属性(以下代码未经测试)

您的HTML可能看起来像:

<select id="mySelect" onchange="copy();">
<option value="">Select a person:</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
</select>
function copy() {
  var sel = document.getElementById('mySelect');
  var selected = sel.options[sel.selectedIndex];
  var firstname = selected.value;
  var lastname = selected.getAttribute('data-lastname');
  // do stuff...
}

您不应该仅仅为了向
提供附加数据而滥用元素的
id
属性。 正如中所建议的,您可以指定一个附加属性,如
data lastname
,然后在脚本中访问该属性(以下代码未经测试)

您的HTML可能看起来像:

<select id="mySelect" onchange="copy();">
<option value="">Select a person:</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
</select>
function copy() {
  var sel = document.getElementById('mySelect');
  var selected = sel.options[sel.selectedIndex];
  var firstname = selected.value;
  var lastname = selected.getAttribute('data-lastname');
  // do stuff...
}

我不明白这个问题。你能提供一个你想要得到的结果的例子吗?请澄清您的问题。现在脚本将value=''的值复制到下拉列表的外部。我想要名字,所以当我选择这个名字时,我希望它将名字复制到外面。我在你的代码中没有看到任何
Firstname
。但是,您似乎不想复制
select
元素的值,而是想复制所选
option
元素的ID?是的,这就是我需要的。可能是重复的,我不理解问题所在。你能提供一个你想要得到的结果的例子吗?请澄清您的问题。现在脚本将value=''的值复制到下拉列表的外部。我想要名字,所以当我选择这个名字时,我希望它将名字复制到外面。我在你的代码中没有看到任何
Firstname
。但是,似乎不是
select
元素的值,而是要复制所选
option
元素的ID?是的,这就是我所需要的。对于纯javascript解决方案完美来说,@FelixKling MCL的答案的可能副本看起来非常好!这就是我需要的@FelixKling MCL的答案对于纯javascript解决方案来说非常好!这就是我需要的!
<select id="mySelect" onchange="copy();">
<option value="">Select a person:</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
    <option value="firstname" data-lastname="lastname">Firstname</option>
</select>
function copy() {
  var sel = document.getElementById('mySelect');
  var selected = sel.options[sel.selectedIndex];
  var firstname = selected.value;
  var lastname = selected.getAttribute('data-lastname');
  // do stuff...
}