【问题标题】:Get hidden field value Jquery?获取隐藏字段值Jquery?
【发布时间】:2011-03-12 13:09:57
【问题描述】:

我有以下 HTML

<input type="hidden" name="conf1" value="7th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC-09)">
    <input type="hidden" name="conf2" value="IEEE International Symposium on Parallel and Distributed Processsing with Applications">
    <input type="hidden" name="conf3" value="jkhga">
    <input type="hidden" name="conf4" value="test">
    <input type="hidden" name="conf5" value="The 3rd International Conference on Adaptive Business Information Systems (ABIS'09)">

    <input type="text" name="published">

我正在尝试使用 jquery 将隐藏字段的值放入数组中。这是我尝试过的:

 var conferences = new Array();

        conferences[0] = $('#conf1').val();
        conferences[1] =$("[name='conf2']").val();
        conferences[2] =$("[name='conf3']").val();
        conferences[3] = $("[name='conf4']").val();
        conferences[4] =$("[name='conf5']").val();     

谁能指导我如何阅读它们?
提前致谢
院长

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    如果你打算使用 jQuery,你可以这样做:

    var array = $('input:hidden').map(function() {
        return this.value;
    }).get();
    

    .map() 遍历集合,并将返回值放入 jQuery 对象中。

    .get() 从 jQuery 对象中检索数组。

    【讨论】:

      【解决方案2】:
      var array = $.map($('input:hidden'),function(i) {
          return i.value;
      });
      

      这会将值的数组分配给array,并且比使用返回一个jQuery 对象的$(selector).map() 稍微简洁一些,然后您需要调用get() 来返回一个数组。

      Demo Here

      【讨论】:

        【解决方案3】:
        var conferences = [];
        
        $('input:hidden[name^="conf"]').each(function() {
            conferences.push($(this).val());
        });
        

        【讨论】:

          【解决方案4】:
          var conferences = new Array();    // object Array
          
          var conferencesVal = new Array(); // string Array
          
          $("[type=hidden]").each(function(i,e){
          
             // object array  =>altarnatif method
             conferences.push( {name:$(this).attr("id"),value: $(this).val()});
          
             //string array
             conferencesVal[i]=  $(this).val();
          
          })
          

          【讨论】:

            【解决方案5】:

            It looks to me like your code works fine already,除了没有#conf1。一切似乎都正确写入了数组,并且可以通过conferences[0]conferences[1], 等轻松访问。

            您可能可以使用 jQuery 技巧来清理它,但是如果您知道您将只有 5 个会议,那么您所拥有的就是功能性的。

            【讨论】:

              【解决方案6】:

              试试下面的代码。

              $(...).attr('value');  
              

              .attr(...) :仅在开始时(创建 html 时)获取对象值。
              .val() :获取可以多次更改的对象属性值。

              【讨论】:

              • 请考虑编辑您的答案以解释为什么 .val() 不起作用而 .attr() 起作用,以便人们更好地了解问题以及何时适用此解决方案。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-03-06
              • 2012-06-04
              • 2013-12-30
              • 1970-01-01
              • 2010-10-20
              相关资源
              最近更新 更多