问问题
10593 次
4 回答
2
您的数据线中的选择器$('input[name=$"koordinator_id"]')
错误。以某个字符串结尾的输入名称的语法是$('input[name$=somestring]']
.
改用这个:
$('input[name$="koordinator_id"]') // '$' needs to be before '='
^
于 2013-10-30T13:47:43.060 回答
1
您{
缺少.ready(function()
. 像这样修复它:
$(document).ready(function () {
$('select.count').change(function () {
alert("Whyunoalert?");
$.ajax({
type: "POST",
url: 'my_ajax_script.ajaxurl',
data: ({
action: 'generate',
koordinator_id: $('input[name=$"koordinator_id"]').val(),
id: $('select.count').val()
}),
dataType: 'html',
success: function (msg) {
alert("Data changed:" + msg);
}
});
});
});
于 2013-10-30T13:53:42.757 回答
1
首先,如果您要触发 ajaxonchange
事件,为什么要将它们包装在表单标签中?如果除onchange
事件之外没有其他用途,则将其删除。
其次是您正在使用但action: 'generate'
您ajax function
没有在 php 函数文件中挂钩正确的操作
add_action("wp_ajax_nopriv_YOUR_ACTION", "METHOD");
add_action("wp_ajax_YOUR_ACTION", "METHOD");
所以它会是
add_action("wp_ajax_nopriv_generate", "generate");
add_action("wp_ajax_generate", "generate");
最后但并非最不重要的一点是始终退出您的 ajax 方法调用,因此请确保它不会低于此值。
function generate() {
$count = $_POST['id'];
var_dump($count);
$koordinator_id = $_POST['koordinator_id'];
var_dump($koordinator_id);
exit;
}
同样作为@Krishna 回答删除$
标志unexpected expression
koordinator_id: jQuery('input[name=$"koordinator_id"]').val(),
需要:
koordinator_id: jQuery('input[name="koordinator_id"]').val(),
于 2013-10-31T21:20:43.467 回答
0
像这样试试
$(document).ready(function()
$('.count').change(function() {
$.ajax({
type: "POST",
url: 'my_ajax_script.ajaxurl',
data: {'action': 'generate', 'koordinator_id': $('input[name=koordinator_id]').val(), 'id': $('.count').val()}),
dataType: 'html',
success: function(msg) {
alert("Data changed:" + msg);
}
});
});
});
还要避免使用 php 短标签。如果您的 php 版本不支持短标签,有时会导致问题。所以改变这个
<input class="koordinator_id" type="hidden" name="koordinator_id" value="<?php echo $_SESSION['coordinator_id'] ?>">
于 2013-10-30T13:50:20.923 回答