我整天都在用这个问题打头。 我对 JavaScript 缺乏很好的了解, 而对于 DOM 操作来说, 我开始使用 jQuery 。 很容易构建一些基本的东西。 我想要的是建立自定义的函数, 它会以基于我传递到此函数的输入参数而从数据库中提取的列表来填充表单 。
代码看起来是这样的:
(function($) {
$.fn.multiSelect = function(a,b,c) {
var someVar1 = parseInt(a,10);
var someVar2 = parseInt(b,10);
var someVar3 = c;
var dataString = "a=" + someVar1 + "&b=" + someVar2 + "&c=" + someVar3;
$.ajax({
type: "POST",
url: "test_ajax.php",
data: dataString,
dataType: json ,
success: function(data) {
var a1 = data[ a ];
var b1 = data[ b ];
var c1 = data[ c ];
return $(this).html( <p> + a1 + b1 + c1 + </p> );
}
});
return $(this).html( <p> + someVar1 + someVar2 + someVar3 + </p> );
}
};
}) (jQuery);
测试ajaax.php内部的PHP代码是:
<?php
if(isset($_POST[ a ]) AND !empty($_POST[ a ])) {
$_something = array(
a => $_POST[ a ],
b => $_POST[ b ],
c => $_POST[ b ]
);
echo json_encode($_something);
}
?>
当我使用我的jQuery 函数像这样时:
$( #someDiv ).multiSelect(1,1, user );
在 $. (ajax) 的侧面函数, 返回不值, 返回“ 11 user ” 。
如果我使用上面的代码 像这样:
$(function() {
var dataString = a= + 1 + &b= + 1 + &c=user ;
$.ajax({
type: "POST",
url: "test_ajax.php",
data: dataString,
dataType: json ,
success: function(data) {
var a1 = data[ a ];
var b1 = data[ b ];
var c1 = data[ c ];
$( #someDiv ).html( <p> + a1 + b1 + c1 + </p> );
}
});
});
它从测试_ajax.php 脚本中获取数据。 所有这些都很简单, 只是为了解决问题, 然后我要构建复杂的 PHP 脚本, 它将用数据库来完成它的工作 。
我猜我对变量(本地/全球)或错误的 jQuery 函数链设置做错了什么。
由于我会在不同的菜单上重复很多次这个操作, 功能会增加逻辑性, 然后一遍又一遍地重复整个代码 。
任何帮助都将不胜感激。