我试图编写一个函数,从select语句中获取值,并将该值回显到屏幕上。当我将确切的select名称放入ajax函数中时,它可以工作,但当我试图通过参数传递select名称时,它就停止工作了。我知道它成功地通过了参数,并且我知道它是正确的select名称,当我测试它时,它会向函数中的屏幕发出警报。所以我认为真正的问题就在这条线上:
data: { select: $('select[name=theName]').val()},但我不知道这是怎么回事。下面我有两个版本的代码。第一个版本起作用,而第二个版本不起作用。第一个版本在参数中有确切的选择名称,第二个版本通过名为'theName‘的参数传递。请看一看:
ajax.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type = "text/javascript">
function ajax(url,theName,id) {
alert(theName)
$.ajax({
type: "POST",
url: url,
data: { select: $('select[name="select1"]').val()},
error: function(xhr,status,error){alert(error);},
success:function(data) {
document.getElementById( id ).innerHTML = data;
}
});
}
</script>test1
<?php
echo "<select name = 'select1' onchange = 'ajax(\"test2.php\",\"select1\",\"output\")'>";
?>^--这个版本起作用了。
ajax.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type = "text/javascript">
function ajax(url,theName,id) {
alert(theName)
$.ajax({
type: "POST",
url: url,
data: { select: $('select[name=theName]').val()},
error: function(xhr,status,error){alert(error);},
success:function(data) {
document.getElementById( id ).innerHTML = data;
}
});
}
</script>test1
<?php
echo "<select name = 'select1' onchange = 'ajax(\"test2.php\",\"select1\",\"output\")'>";
?>这个版本不起作用。
发布于 2015-06-16 20:32:09
您在这里省略了双引号和连接:
data: { select: $('select[name="'+theName+'"]').val()},发布于 2015-06-16 20:33:19
data: { select: $('select[name=' + theName + ']').val()},https://stackoverflow.com/questions/30877481
复制相似问题