PHP - 如果选择选项值等于

时间:2016-03-27 01:14:10

标签: php jquery select

每当我选择值.cities时,我想评论Singaporean,但它应该可见如果我选择除新加坡之外的任何其他国籍。在PHP中可以吗?

<div class="cities">New York</div>

<select id="emp_nationality" name='emp_nationality' class='form-control'>
<option  value="Singaporean">Singaporean</option>
<option  value="Albanian">Albanian</option>
<option  value="Algerian">Algerian</option>
<option  value="American">American</option>
</select>

我试过这个,但由于某种原因它无法正常工作

<?php

if ($_POST['emp_nationality'] != 'Singaporean') {
echo '<div class="cities">New York</div>';
}


?>
  

错误:未定义的索引:emp_nationality

2 个答案:

答案 0 :(得分:1)

您可以在js中使用onchange处理程序,并根据所选值隐藏/显示“.cities”div。注意我在.cities中添加了display:none,因为您在选择列表中的第一个选项是Singaporean,并且该函数需要更改才能触发它。此外,我通常会将onclick分离为一个单独的处理程序 - 而不是将其混合到HTML中,但对于此示例,我这样做了。不需要PHP,它需要在页面加载时选择该选项,并且不会轻易地更改不同选择的div的可见性。如果选择了正确的选项,则可以隐藏div,并在其他选项选项中显示。

	function hideDiv(option)	
	{
		if(option=="Singaporean"){$('.cities').hide()}else{$('.cities').show()}
	}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cities" style="display:none">New York</div>

<select id="emp_nationality" name='emp_nationality' class='form-control' onchange="hideDiv(this.value)">
<option  value="Singaporean">Singaporean</option>
<option  value="Albanian">Albanian</option>
<option  value="Algerian">Algerian</option>
<option  value="American">American</option>
</select>

<div class="cities" style="display:none">New York</div>

<select id="emp_nationality" name='emp_nationality' class='form-control' onchange="hideDiv(this.value)">
<option  value="Singaporean">Singaporean</option>
<option  value="Albanian">Albanian</option>
<option  value="Algerian">Algerian</option>
<option  value="American">American</option>
</select>


//js
function hideDiv(option)    
{
    if(option=="Singaporean"){$('.cities').hide()}else{$('.cities').show()}
}

答案 1 :(得分:0)

如果你愿意避免使用“Undefined index:emp_nationality”,你需要在检查它的值之前确保该变量存在。使用isset()。 http://php.net/manual/en/function.isset.php

if (isset($_POST['emp_nationality']) && ($_POST['emp_nationality'] != 'Singaporean')) {
    echo '<div class="cities">New York</div>';
}