Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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_Arrays_Variables_Split - Fatal编程技术网

如何替换条件上的javascript变量?

如何替换条件上的javascript变量?,javascript,arrays,variables,split,Javascript,Arrays,Variables,Split,我有一个HTML名称下拉菜单: <select id="names" name="nam"> <option>Generic Lastname, Firstname Middle</option> <option>Doe Jr., Jim</option> <option>Smith, Christopher Sam=Chris</option> <option>Wilson, Sue Ann<

我有一个HTML名称下拉菜单:

<select id="names" name="nam">
<option>Generic Lastname, Firstname Middle</option>
<option>Doe Jr., Jim</option>
<option>Smith, Christopher Sam=Chris</option>
<option>Wilson, Sue Ann</option>
</select>

<input type="checkbox" id="firstname" value="" checked="checked">

我可能会对此采取完全不同的方法,但我也不太确定您是如何构建数据的

中间名(如果存在)将是
first\u array
中的第二个元素,因此您可以首先检查它

var nickname,
    nameToDisplay = first_array[1];

if (first_array[2]) {
    // split on `=` if we have a middle name
    nickname = first_array[2].split("=");
}
如果
=
存在,那么此人的昵称将是
昵称中的第一个元素

if (nickname[1]) {
    nameToDisplay = nickname[1];
}

如果
=
不存在,那么
昵称[1]
将不存在,条件将失败。

您似乎没有id为
firstname
的元素,因此无法
getElementById
。该元素只是在文档中的其他位置用于显示名字。我把第一个数组[1]放在那个位置。如果需要澄清的话,我会更新原始帖子。我关心的是将变量拆分成数组。@user3283304您能告诉我您在一起都做了哪些尝试吗?也许是在jsfiddle.net或类似的平台上?我现在无法让jsfiddle在我的chromebook上工作,但我已经一字不差地尝试了你的代码。函数在第二条IF语句处停止:IF(昵称[1])。。。是否存在语法问题?@user3283304如果
昵称
不是无法工作的数组或对象。您可以通过各种方式解决这个问题——最有意义的是将
if
语句放在另一个
if
语句中
if (nickname[1]) {
    nameToDisplay = nickname[1];
}