我有这段代码:
<html>
<head>
</head>
<body>
<select>
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "<option>$value</option>";
}
if (in_array("blue",$value)) {
echo "Blue is your color";
} else {
echo "blue is not your color get out of here";
}
?>
</select>
</body>
</html>
基本上有一个变量,它是一个包含不同颜色的数组。 我将该变量放在select中的for循环中,以便人们可以选择选项。当人们选择蓝色的数组属性来回应某些东西时,我正试图实现。
我的尝试:
if (in_array("blue",$value)) {
echo "Blue is your color";
} else {
echo "blue is not your color get out of here";
}
在来到这里之前我做了一些研究,但没有发现或者我真的不知道要找什么,但这是我的尝试,我试过了!
答案 0 :(得分:3)
如果你想在客户端获得价值而不是在这里使用jQuery或Javascript,或者如果你想使用服务器端,那么你必须在这里使用<form>
:
以下是jQuery的基本示例,您可以根据需要进行修改,我在结果警告框中显示,您可以在任何需要的地方显示:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<select name="select" id="select">
<option value="">Select</option>
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
?>
<option value="<?=$value?>"><?=$value?></option>
<?php
}
?>
</select>
<强> jQuery的:强>
<script type="text/javascript">
$(document).ready(function(){
$("#select").change(function(){
selectVal = $(this).val();
myarray = ["red", "green", "blue", "yellow"];
if($.inArray(selectVal, myarray) !== -1){
alert(selectVal+' is your color');
}
else{
alert(selectVal+' is not your color get out of here');
}
});
});
</script>
请确保您已将jquery文件包含在代码<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
答案 1 :(得分:1)
你应该写
<html>
<head>
</head>
<body>
<?php
$colors = array("red", "green", "blue", "yellow");
if(isset($_GET)&&$_GET["colors"]!=""){
if (in_array($_GET["colors"],$colors)) {
echo "$_GET["colors"] is your color";
} else {
echo "blue is not your color get out of here";
}
}
?>
<form method="get">
<select name="colors">
<?php
foreach ($colors as $value) {
echo "<option value='".$value."'>$value</option>";
}
?>
</select>
<input type="submit"/>
</form>
</body>
</html>
<强> in_array 强>
(PHP 4,PHP 5,PHP 7) in_array - 检查数组中是否存在值
<强>描述强>
bool in_array(混合$ needle,数组$ haystack [,bool $ strict = FALSE]) 除非设置严格,否则使用松散比较搜索干草堆的针。
<强>参数强>
针 搜索到的值。
注意: 如果needle是一个字符串,则以区分大小写的方式进行比较。 草垛 数组。
严格 如果第三个参数strict设置为TRUE,那么in_array()函数也会检查大海捞针的类型。
返回值
如果在数组中找到了针,则返回TRUE,否则返回FALSE。
答案 2 :(得分:1)
如果您使用javascript
以简单的方式执行此操作。在此之前,您需要使用form
标记。使用onchange="myfunction(this.value)"
方法从选择框中获取当前选定的值。
<head>
<script>
function myfunction(x)
{
alert(x);
}
</script>
</head>
<body>
<form action="" method="post">
<select id="myvalue" onchange="myfunction(this.value)">
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "<option>$value</option>";
}
if (in_array("blue",$value)) {
echo "Blue is your color";
} else {
echo "blue is not your color get out of here";
}
?>
</select>
</form>
</body>
</html>
答案 3 :(得分:0)
PHP不处理用户事件。使用jQuery:
<body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
<select id="select1">
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "<option value='$value'>$value</option>";
}
?>
</select>
<input type="text" id="selected">
<script>
$('#select1').on('change', function() {
$('#selected').val( this.value );
});
</script>
答案 4 :(得分:0)
你需要javascript或jquery来实现你想要的。这是一个纯粹的javascript示例:
<强> HTML 强>
<head>
</head>
<body>
<select onchange="checkColor(this);">
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "<option>$value</option>";
}
?>
</select>
</body>
</html>
<强>的Javascript 强>
<script>
function checkColor(selectObj){
if (selectObj.selectedIndex == -1){
selectedColor = '';
}
else {
selectedColor = selectObj.options[selectObj.selectedIndex].text;
}
if(selectedColor == 'blue'){
alert('Blue is your color');
}
else {
alert("blue is not your color get out of here");
}
}
</script>
答案 5 :(得分:-1)
<select onChange="window.top.location='lan.php?lan='+this.value;">
<option>----</option>
<option value="en">English</option>
<option value="tr">Turkce</option>
</select>