jQuery - 当Textarea名称为Dynamic时,将Hidden字段设置为Textarea内容

时间:2013-06-05 18:54:23

标签: javascript jquery forms textarea hidden-field

我桌子的每一行都有一个textarea。我需要将此textarea设置为与其关联的隐藏字段的值。

textarea和hidden字段的名称如下所示: Textarea名称:

sc-(Account Name)c

隐藏字段名称:

sc-(Account Name)h

一个例子是:

textarea的:

sc-usernamec

隐藏字段:

sc-usernameh

在提交或键入文本时,我需要使用textarea中键入的内容更新隐藏字段。我是jQuery和Javascript的新手,我想知道我怎么能a)遍历每个textarea字段在相关的隐藏字段中设置其内容或b)在键入时将隐藏字段设置为textarea。

我不确定我应该使用哪个选项,也不确定如何编写这种性质的东西。

2 个答案:

答案 0 :(得分:1)

如果有问题的textarea是普通的textarea,那么你可以尝试

$(function() {
    $(":hidden[name^='sc']").each(function() { // all hidden starting with sc
      var id = this.id.substring(0,this.id.length-1)+"c";
      var hid = $(this);                           
      $("#"+id).on("keyup",function() {
          hid.val($(this).val());
        });
    });
});

Live Demo

如果将textarea转换为编辑器,所有投注当然都是关闭的 - 那么你需要阅读

jQuery and TinyMCE: textarea value doesn't submit

表示

$(function() {
  $("#myForm").on("submit",function() {
    $('#sc_texth').val(tinyMCE.get('sc_textc').getContent());
  });
});

或更多

$(function() {
  $("#myForm").on("submit",function() {
    $(":hidden[name^='sc']").each(function() { // hidden and starts with sc
      var textareaID = this.id.substring(0,this.id.length-1)+"c";
      $(this).val(tinyMCE.get(textareaID).getContent());
  });
});

Live Demo

答案 1 :(得分:0)

我认为这可能对你有所帮助。

<p><textarea name="sc-username" id="sc-username" ></textarea></p>
<p><textarea name="sc-usernameh" id="sc-usernameh" style="display:none;"></textarea></p>

$(document).ready(function(){  
    $("textarea").on("keyup",function() {  
        var name = $("#"+$(this).attr('name')+"h");  
        if(name)  
          name.val($(this).val());  
    });
});