Javascript 如何使用ajax post请求显示这样的结果值?
如何像这样显示结果值 将选择标记更改为例如:三 我想展示一下结果 但如果将selete改为Eg:3 我想展示一下结果 我该怎么做Javascript 如何使用ajax post请求显示这样的结果值?,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,如何像这样显示结果值 将选择标记更改为例如:三 我想展示一下结果 但如果将selete改为Eg:3 我想展示一下结果 我该怎么做 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <form id="form-id" method="post" action="" ENCTYPE = "multipart/form-data" onsubm
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form id="form-id" method="post" action="" ENCTYPE = "multipart/form-data" onsubmit="return checkform(this);">
<select id="number" name="number" OnChange="fn_test1()" >
<option selected="" value="">SELECT</option>
<option value="1">ONE</option>
<option value="2">TWO</option>
<option value="3">THREE</option>
<option value="4">FOUR</option>
</select>
<?PHP
for ($i=1;$i<=4;$i++)
{
?>
<span id="myplace<?PHP echo $i; ?>"></span><br>
<?PHP
}
?>
</form>
<script>
function fn_test1() {
$('#myplace'+ $(data).find("#number").val()).hide();
setTimeout(function(){
$.ajax
(
{
url: 'test_mm16.php',
type: 'POST',
data: $('#form-id').serialize(),
cache: false,
success: function (data) {
$('#myplace'+ $(data).find("#number").val()).show();
$('#myplace'+ $(data).find("#number").val()).html(data);
}
}
)
}, 2000);
}
</script>
当用户更改下拉框中的选择时,是否要更改页面部分的可见性?为什么您需要ajax来实现这一点
function fn_test1() {
$('.mp').hide();
$('#myplace'+ $(data).find("#number").val()).show();
}
然后将class=mp添加到myplace元素中
当然,除非您计划向跨度添加动态内容。在这种情况下:
对于主页和ajax调用,您似乎使用了相同的PHP脚本,这是非常规的—ajax响应应该是XML或JSON等数据交换格式,而不是HTML。
数据变量仅在成功处理程序中声明,因此它的第一次使用可能没有达到预期效果。
如果用户希望在不刷新整个页面或更改选择的情况下刷新跨度的内容,该怎么办?
必须使用jquery才能检索所选项的值。您的代码可以是:
<script type="text/javascript">
function fn_test1() {
var selected = $("#number option:selected").val(); //Get the value of selected item (like '1', '2');
setTimeout(function() {
$.ajax(
{
//Put here url, type, ...
success: function(data) {
$("#myplace" + selected).show();
$("#myplace" + selected).html(data); //Put the output inside the right element
}
})
}, 2000);
}
</script>
你的两个例子不匹配。