当其他选择框更改其值

时间:2016-05-23 22:12:03

标签: javascript jquery

我有2个选择框在同一页面中运行。一个选择框名称是“选择月份”而另一个是“选择名称”,现在默认选择月份框保存一个月的值,如“2016年5月”,默认选择名称框保留选择名称的值,所以当我第一次更改选择名称框值如“迈克尔”,并更改选择月份值月份,如“2016年6月”,然后选择名称框值“迈克尔”消失,并再次将其值更改为“选择名称”。这是因为我的网站上运行了很多js文件,这两个选择框正在显示。我将无法在此处显示所有代码行。我想要的是选择名称值将保持值名称“迈克尔”(当我更改它时),无论选择月份框值字段中发生了什么。当我像第一次更改选择月份然后更改选择名称一样,那么一切都很好。但是当我第一次更改选择名称值然后更改选择月份值时不工作。那个时候名字值没有保持它的位置。我尝试过在客户端名称部分添加一个onchange代码,并在脚本中写下一些内容,以便它可以工作。但没有任何事情发生。

<div class="monthNavigator">
<label for="imonth">Select Month: </label>
<select id="imonth" name="imonth" onchange="Calendars.monthNavigation(this.value)">
<option value="5,2016" selected="selected">May 2016</option>
<option value="6,2016">June 2016</option>
<option value="7,2016">July 2016</option>
<option value="8,2016">August 2016</option>
<option value="9,2016">September 2016</option>
<option value="10,2016">October 2016</option>
</select>
</div>

<div class="client_form">
<label>Select Your Name</label>
<select id="client_name" name="client_name" required>
<option value='' > - Select Name - </option>
<option value="26">Michael</option>
<option value="27">David</option>
<option value="32">Samuel</option>
</select>
</div> 

在原始文件中,选择名称框代码的内容如下:

<select id="client_name" name="client_name" required onchange="showclient(this.value);">
<option value=''> - Select Name - </option>
<?php
foreach($clients AS $client){
?>
<option value="<?php echo $client->id;?>"><?php echo $client->first_name.' '.$client->last_name;?></option>
<?php
}
?>
</select>

我尝试保存“选择名称”框值的脚本:

<script>
function showclient(client)
{
if(client=='')
{       
    document.getElementById("client_name").style.display="block";
    var x = document.getElementsByClassName("client_name");
    var i;
    for (i = 0; i < x.length; i++) {
        x[i].style.display="none";
    }
}
}
</script>

我真的不知道这种信息是否足以解决我的问题。任何形式的帮助将不胜感激。

0 个答案:

没有答案