问问题
2796 次
4 回答
0
提交表格后,您可以检查$_REQUEST['ref_rubrique']
. 然后,您可以比较该值,例如1 == $_REQUEST['ref_rubrique']
。两者"1"
都是"2"
真实值。
于 2013-10-04T13:43:11.937 回答
0
为了在不刷新页面的情况下立即发生这种情况,它需要完全在客户端代码 (JavaScript) 中发生。因此,让我们从您的页面元素开始:
<select name="ref_rubrique">
<option value="1"> number 1 </option>
<option value="2" selected> number 2 </option>
</select>
您还需要某种占位符用于输出。让我们使用id
属性,以便我们可以轻松地唯一地识别有问题的元素。所以让我们使用这个:
<select name="ref_rubrique" id="ref_rubrique">
<option value="1"> number 1 </option>
<option value="2" selected> number 2 </option>
</select>
<div id="ref_output"></div>
目前输出为空。select
当元素的值发生变化时,它将由我们的 JavaScript 代码填充。所以现在我们需要一个script
代码块来将该功能附加到change
该元素的事件:
<select name="ref_rubrique" id="ref_rubrique">
<option value="1"> number 1 </option>
<option value="2" selected> number 2 </option>
</select>
<div id="ref_output"></div>
<script type="text/javascript">
var selectElement = document.getElementById('ref_rubrique');
var divElement = document.getElementById('ref_output');
selectElement.onchange = function () {
var selectedValue = selectElement.options[selectElement.selectedIndex].value;
if (selectedValue == '1') {
divElement.innerHTML = '<p>hello</p>';
} else if (selectedValue == '2') {
divElement.innerHTML = '<p></p>';
}
};
</script>
所以我在这里所做的是:
- 获取对每个 HTML 元素的引用作为 JavaScript 变量
- 将函数绑定到元素的
change
事件,这将...select
- 获取
select
元素的选定值 - 如果选择的值是某物,则将 HTML 写入输出
div
元素 - 如果是其他内容,则将其他 HTML 写入
div
元素
你可以在这里看到一个活生生的例子。
于 2013-10-04T14:45:45.063 回答
0
如果有人在寻找我的解决方案,我就是这样做的:
<select name="ref_rubrique" id="ref_rubrique">
<option value="11">11</option>
<option value="12" selected>12</option>
<option value="13">13</option>
</select>
<div id="ref_output">
<?php
if (isset($_GET["id_rubrique"])){
if($_GET["id_rubrique"]==12){
?>
<p>Your question here !</p>
<p><input name="type" type="radio" value="1" <? if($page_type=='true'){ ?>checked<? } ?>>Oui<input name="type" type="radio" value="0" <? if($page_type=='false'){ ?>checked<? } ?>>Non</p>
<?php
}
}
?>
</div>
<script language="javascript" type="text/javascript">
var selectElement = document.getElementById('ref_rubrique');
var divElement = document.getElementById('ref_output');
selectElement.onchange = function () {
var selectedValue = selectElement.options[selectElement.selectedIndex].value;
if (selectedValue == '12') {
divElement.style.display = "block";
} else if (selectedValue != '12') {
divElement.style.display = "none";
}
};
</script>
感谢大家的帮助,再见:)
于 2013-10-08T08:58:42.903 回答
-1
您可能应该使用id比name更好
<select id="ref_rubrique">
<option value="1"> number 1 </option>
<option value="2" selected> number 2 </option>
</select>
<div id="textPlace"></div>
您可以使用 JQuery 检查已选择的值,然后获取 p 或 div 元素并将文本添加到其中。
//check if the selected option has a value of 2, than set the text
if($('#ref_rubrique').val() == 2){
$("#textPlace").html("My text");
}
这是一个活生生的例子:这里
于 2013-10-04T13:59:25.547 回答