IT虾米网

php之JQuery 帮助处理复选框及其值

sharpest 2024年02月03日 程序员 207 0

我对 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 会为我做这件事?

除了需要显示其值的复选框之外,我还有单选按钮。顺便说一句,复选框没有分组;他们每个人都有自己的值(value)。

感谢你们提供的任何帮助。

<小时 />

好的。 “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 的客户,那么我确实会收到警报。这比我之前得到的要多。但同样,即使数据库中的数据 = '0',我仍然看到复选标记

请您参考如下方法:

复选框的行为与其他输入字段略有不同。当你有 <input type="text" name="field1" value="foo" />例如,文本字段会自动填充“foo”。

但是,如果您有 <input type="checkbox" name="field2" value="1" /> ,该复选框没有任何可填充的内容。这是因为复选框有一个特殊的“checked”属性,该属性决定默认情况下是否选中它。因此,填充文本框的脚本很可能为复选框输入了正确的值,但没有设置选中的属性。

要使用 jQuery 执行此操作,您可以执行 $('#checkboxid').attr('checked', true);


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!