我试图在PHP页面中定位选项标签而不是它的值。
我知道PHP是服务器端的,可能很难定位选项标签,但是有解决方法吗?
我正在使用的代码是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href=
"css/mainstyle_css.css" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<title>
title
</title>
</head>
<body>
<form method="post" action="">
<select name="myList" id="myList" class="myList">
<optgroup label="list 1">
<option value="music/one" label="techno">techno</option>
<option value="music/two" label="rock">rock</option>
</optgroup>
</select>
<input type="submit" name="submit" id="submit" class="submit" value="Search"/>
</form>
<?php echo $myList; ?>
</body>
</html>
使用上面的代码我在php页面上获得音乐/ one和music / two echo-ed。我需要做的是回应他们的标签,即“技术”和“摇滚”。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
你可以这样做:
<?php
$options = array();
$options["music/one"] = "techno";
$options["music/two"] = "rock";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="css/mainstyle_css.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>title</title>
</head>
<body>
<form method="post" action="">
<select name="myList" id="myList" class="myList">
<optgroup label="list 1">
<?php
foreach($options as $key => $value)
{
echo '<option value="'. $key .'" label="'. $value .'">'.$value.'</option>';
}
?>
</optgroup>
</select>
<input type="submit" name="submit" id="submit" class="submit" value="Search"/>
</form>
<?php echo $options[$_POST['myList']]; ?>
</body>
</html>
答案 1 :(得分:0)
试试这个:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href=
"css/mainstyle_css.css" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<title>
title
</title>
</head>
<body>
<form method="post" action="a.php">
<select name="myList" id="myList" class="myList">
<optgroup label="list 1">
<?php
foreach($options as $key => $value)
{
echo "<option value='{$key}' label='{$value}'>{$value}</option>"; // this will fill all your values in option field via loop
}
?>
<option value="music/one" label="techno">techno</option> // you can also do it this way manually as u did.
<option value="music/two" label="rock">rock</option>
</optgroup>
</select>
<input type="submit" name="submit" id="submit" class="submit" value="Search"/>
</form>
</body>
</html>
// below codeshould be in a.php
<?php if(isset($_POST['submit']))
{
echo $_POST['myList'];
}
?>