更新: 看看人们的建议,我意识到我应该没有AJAX。我决定更改加载函数,现在将jquery代码放在其中。但是,它仍然不起作用,因为没有元素显示为可见。这是新代码的样子。
<style>
.input_1 {display: none;}
.input_2 {display: none;}
.input_3 {display: none;}
</style>
<script type="text/javascript">
var numbers = $('#select_number').val();
function load(numbers) {
if (numbers == 1)
{$("input").hide();$(".input_1").show();} else
if (numbers == 2)
{$("input").hide();$(".input_1").show();$(".input_2").show();} else
if (numbers == 3)
{$("input").hide();$(".input_1").show();$(".input_2").show();$(".input_3").show();}}
</script>
这就是选择标签现在的样子
<form id="form" action="" method="post">
<select id="select_number" onclick="load( numbers );" >
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="text" class="input_1"/>
<input type="text" class="input_2"/>
<input type="text" class="input_3"/>
</form>
答案 0 :(得分:0)
<select id="select_number" onclick="load('ajax_file.php', number_of_places );">
单击元素时“number_of_places”的值是多少?根据你的代码,它设置一次,永远不会改变。
一种解决方案是在发送之前获取值:
function load(thefile) {
var number = $('#select_number').val();
$.get(thefile, {number : number});
}
或者在函数调用中获取值
<select id="select_number" onclick="load('ajax_file.php', $('#select_number').val());">
此外,您没有对结果执行任何操作。也许你想要那样?但如果没有,你需要添加这样的东西:
$.get(thefile, {number : number}, function (data){
alert('The results are: ' + data);
// do something with the results
}
);
我希望有所帮助!
答案 1 :(得分:0)
我会使用jQuery来完成这样的任务。 jQuery使得它非常容易使用AJAX调用。
var myVar = $.get( "ajax_file.php",
"/*data to be sent to php file (optional)*/",
function(data) { /*whatever you want you do (or simply leave it empty if your php does what you need)*/ },
"text" /*data Type*/
);
答案 2 :(得分:0)
Jquery无法在服务器上远程执行,因此Ajax调用中的jquery将不执行任何操作。这是jquery本质的基础,它不是服务器端语言。
function load(thefile) {
var number_of_places = $('#select_number').val();
$.get(thefile, {number : number_of_places}, function(numbers){
if (numbers = 1)
{$("#input_1").show();} else
if (numbers = 2)
{$("#input_1").show();$("#input_2").show();} else
if (numbers = 3)
{$("#input_1").show();$("#input_2").show();$("#input_3").show();}
});
)};
php文件:
<?php
if (isset($_GET['number']) === true && empty($_GET['number']) === false) {
print $_GET['number'];
}
?>
答案 3 :(得分:0)
找到解决方案。在onclick属性的load函数中添加$('#select_number')。val()并且它可以工作。感谢大家的帮助。