如何替换条件上的javascript变量?
我有一个HTML名称下拉菜单:如何替换条件上的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<
<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];
}