【问题标题】:serialize isn't working anymore like it should序列化不再像它应该的那样工作
【发布时间】:2012-11-02 04:58:22
【问题描述】:

序列化不再像它应该的那样工作了。它只选择那些在 DataTables oTable 中可见的已检查输入。

jQuery(':checkbox').live('click',function(){
    var nn = jQuery('input:checked', oTable).serialize();
    var n=nn.length;
    if (n!='0'){
        jQuery('#imObjectForm').attr('disabled',false);
        }
    else {
        jQuery('#imObjectForm').attr('disabled',true);
        }
});    
    jQuery('#osszes').submit(function(){
        jQuery("input:hidden").remove();
        var fields = jQuery('input', oTable).serializeArray();
        jQuery.each(fields, function(i, field){
            jQuery('<input type="hidden" id="imSpProt" name="imSpProt[]" value="' + field.value + '" />').appendTo('#inputok');
            });
    });

【问题讨论】:

  • 您使用的 jquery 版本。
  • 改用 live 因为 live 在最新版本中已被弃用
  • 我现在得去上班,但我回家后会努力的。

标签: jquery serialization input checkbox


【解决方案1】:

试试这个:

jQuery(':checkbox').on('click',function(){
var nn = jQuery('input:checked', oTable).serialize();
var n=nn.length;
if (n!='0'){
    jQuery('#imObjectForm').attr('disabled',false);
    }
else {
    jQuery('#imObjectForm').attr('disabled',true);
    }
});    

jQuery('#osszes').submit(function(){
    jQuery("input:hidden").remove();
    var fields = jQuery('input', oTable).serializeArray();
    jQuery.each(fields, function(i, field){
        jQuery('<input type="hidden" id="imSpProt" name="imSpProt[]" value="' + field.value + '" />').appendTo('#inputok');
        });
});

【讨论】:

    【解决方案2】:

    您正在检查.serialize()返回的字符串的长度,不需要使用.seialize()

    如果你只是想检查是否有选中的复选框,你只需要这样做:

    $('#imObjectForm').prop('disabled', $('input:checked', oTable).length == 0);
    

    【讨论】:

      【解决方案3】:

      它又开始工作了。感谢 4 您对此的快速回复。好吧,这里最大的问题是缺少

      o

      在:oTable = jQuery('#table_id').dataTable({

      jQuery(':checkbox').on('click',function(){
          var nn = jQuery('input:checked', oTable.fnGetNodes()).serialize();
          var n=nn.length;
          if (n!='0'){
              jQuery('#imObjectForm').attr('disabled',false);
              }
          else {
              jQuery('#imObjectForm').attr('disabled',true);
              }
      });    
          jQuery('#osszes').submit(function(){
              jQuery("input:hidden").remove();
              var fields = jQuery('input', oTable.fnGetNodes()).serializeArray();
              jQuery.each(fields, function(i, field){
                  jQuery('<input type="hidden" id="imSpProt" name="imSpProt[]" value="' + field.value + '" />').appendTo('#inputok');
                  });
          });
      oTable = jQuery('#table_id').dataTable({
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-20
        • 2015-03-17
        相关资源
        最近更新 更多