PHP-如果选择选项值等于


PHP - If select option value equals

每当我选择值Singaporean时,我都想对.cities进行注释,但如果我选择除新加坡以外的任何其他国籍,它应该是可见的。这在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

您可以在js中使用onchange处理程序,并根据所选值隐藏/显示".citys"div。注意:我在.citys中添加了一个display:none,因为您在选择列表中的第一个选项是新加坡人,并且函数需要更改才能触发它。此外,我通常会将onclick作为一个单独的处理程序来分离,而不是将其混合到HTML中,但在本例中,我是这样做的。不需要PHP,因为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()}
}

如果你想避免"未定义的索引: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>';
}