【发布时间】:2009-04-03 06:00:35
【问题描述】:
我对 javascript 和 JQuery 非常陌生,但我设法让我的第一个 ajax 脚本几乎 100% 工作。也许今天是我的幸运日,我可以完成这件事。 :)
让我给你们每个文件的样本,这样你们就知道是什么了。我相信我最后一次尝试解决这个问题并没有成功,因为我混淆了这些文件。都是js,语法完全一样。
我有 2 个 javascript 文件。一种称为 ajax.js,具有以下语法。它调用 ajax.php。
$("#admEmpID").bind("change", function(e){
$.getJSON("ajax.php?e=" + $("#admEmpID").val(),
function(data)
{
$.each(data, function(i,item)
{
if (item.field == "admEmpStatus")
{
// ?? radio buttons
}
............. etc
我拥有的下一个文件是这个脚本,名为 admEmp.js。我认为这个是为了我的表单验证。
$(function() {
$('.error').hide();
$('input.text-input').css({backgroundColor:"#FFFFFF"});
$('input.text-input').focus(function(){
$(this).css({backgroundColor:"#FFDDAA"});
});
$('input.text-input').blur(function(){
$(this).css({backgroundColor:"#FFFFFF"});
});
$(".admEmpBtn").click(function() {
// validate and process form
// first hide any error messages
$('.error').hide();
var admEmpID = $("input#admEmpID").val();
var admEmpStatus = $("input[name='admEmpStatus']:checked").val();
$.ajax({
type: "POST",...............etc.
我想做的是根据数据库结果切换我的复选框。如果数据库的结果为 = 1,则应选中复选框,否则应取消选中。
我现在拥有的这些脚本将从数据库中的值填充我的文本框,因此对于像我这样不知道 JQuery 及其内部工作发生了什么的人来说,我很自然地假设复选框也将填充开/关值。也许我不正确。上次我在 SO 上发帖寻求帮助时,有人提到我需要使用服务器端代码切换结果。这是正确的还是 JQuery 会为我做呢?
除了需要显示其值的复选框之外,我还有单选按钮。顺便说一句,复选框没有分组;他们每个人都有自己的价值。
感谢你们提供的任何帮助。
好的。 "dz" 说我应该放 ('#admCustRptDly').attr('checked', true);进入我的脚本,看看是否可以让我看到选中的属性,但事实并非如此。数据库中该复选框的值为 0,因此我应该看不到复选标记。我把它放到 ajax.js 文件中。这是它现在的样子。
else if (item.field == "admCustRptDly" && item.value == "1")
{
// $("checkbox#admCustRptDly").attr("checked", "checked");
$('#admCustRptDly').attr('checked', true);
}
这是我所做的,这让我觉得我可能正在取得一些进展。我在条件中设置了警报,但没有收到警报。如果我去找一个确实将 db 值设置为 1 的客户,那么我会收到警报。这比我以前得到的要多。但同样,即使 db = '0' 中的数据,我仍然看到复选标记
【问题讨论】:
标签: php javascript jquery