我的问题是:在下拉列表中为div元素添加值。
好的伙计们,我已经在@David的帮助下解决了我的问题。
我一直想知道如何设计<select>
<option>
标签,但现在我觉得我找到了一个解决方案来摆脱它们并使用我想要的任何元素。好的,这是我的代码:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function getValue(value){
var valueHolder = document.getElementById('valueHolder');
valueHolder.value = value;
}
function toggle(id){
var element = document.getElementById(id);
if(element.style.display == "none"){
element.style.display = "block";
} else {
element.style.display = "none";
}
}
</script>
</head>
<body>
<form action="test2.php" method="post">
<input type="hidden" id="valueHolder" value="" name="valueHolder"></input>
<div onclick="toggle('dropdown');">Show Dropdown</div>
<div class="dropdown" id="dropdown" style="display:none;">
<div class="option" onclick="getValue('red')">Red</div>
<div class="option" onclick="getValue('green')">Green</div>
</div>
<input type="submit" name="submit" />
<?php
if(isset($_POST['submit'])){
echo $_POST['valueHolder'];
}
?>
</form>
</body>
</html>
它有点难看,但检查出来,有效!不要忘记在服务器上运行。
最诚挚的问候, 亚当
答案 0 :(得分:2)
每个div可能需要自己的click事件来获取其内部文本并将其存储在隐藏的表单字段中。使用HTML之外的jQuery可以更加优雅地实现这一点,以便将其与内容分开。
jQuery点击事件:http://api.jquery.com/click/
获取元素文本的jQuery方法:http://api.jquery.com/text/