2013-04-22 56 views
0

我正在创建一个jQuery函数,我在其中使用一个类作为第二个div按钮中常见的按钮。我的HTML标记jQuery获取textarea的值点击不同div中的不同按钮

<div class="micmstabs miindex"> 
    <h4>Manage Your Index Page Here</h4> 
     <textarea class="redactor_content" name="content" rows="4"><?php cms_html('index'); ?></textarea> 
     <a href="#" data-dismiss="modal" class="cms_s index_save btn btn-primary">Save Changes</a> 
    </div> 

    <div class="micmstabs miterms"> 
    <h4>Manage Your Terms & Conditions Page Here</h4> 
     <textarea class="redactor_content" name="content" rows="4"><?php cms_html('terms'); ?></textarea> 
     <a href="#" data-dismiss="modal" class="cms_s terms_save btn btn-primary">Save Changes</a> 
    </div> 

在上面,当我们点击cms_s我尝试基于jQuery的健康检查,如果这个按钮有这个类,然后让我的div在textarea的价值得到textarea的价值这个按钮和textarea是。

我jQuery的功能是

$(document).on('click', '.cms_s', function(event) { 
     if ($(this).hasClass('index_save')) { 
      var cms_page='index'; 
      } 
     if ($(this).hasClass('terms_save')) { 
      var cms_page='terms'; 
      } 
     if ($(this).hasClass('policy_save')) { 
      var cms_page='policy'; 
      } 
     if ($(this).hasClass('mem_save')) { 
      var cms_page='membership'; 
      } 
      alert(cms_page); 
      var cms_html=$(this).parents("div").find('.redactor_content').val(); 
      alert(cms_html); 


}); 

我能够获得该类的条件检查完美。但是当我尝试获取基于按钮的textarea的值时,无论点击哪个按钮,它都会让我获得第一个div标记中存在的textarea的值。

+0

原代码为我工作的提供。我认为实际问题可能是有另一个父div,进一步在DOM上面,它包含一个redactor_content并且返回,而不是示例中显示的兄弟(因为parents()将搜索DOM的所有内容申报单)。我敢打赌,切换到单独的'.parent()'也会解决这个问题。 – ernie 2013-04-22 20:03:24

回答

2

如果您按下按钮并且想要以前的文本框值。它更容易做到这一点:当因为所有的输入具有类redactor_content所以.val()将得到数组中的第一个文本区域和获取价值发生

$(document).on('click', '.cms_s', function(event) { 
    var val = $(this).prev("textbox").val(); 
    // Or within the same level 
    val = $(this).parent().find("textbox").val(); 
    val = $(this).siblings("textarea").val(); 
}); 

你的问题。这是第一个redactor_content

var cms_html=$(this).parents("div").find('.redactor_content').val(); 
+0

没有我的意思是我得到的prev textarea的价值我想,当我点击任何按钮,我得到的textarea的内部在同一个div的按钮,我点击的值 – user1001176 2013-04-22 15:08:21

+0

大声笑这也工作我也投了你:)顺便说一句@Niels谢谢你的详细解释 – user1001176 2013-04-22 15:12:52

+0

原始代码为我工作的提供。我认为实际问题可能是另一个父'div',在DOM的后面,它包含一个'redactor_content'并且返回,而不是示例中显示的兄弟(因为'parents()'将搜索所有DOM的所有'div's) – ernie 2013-04-22 15:15:32

1

试试这个 -

var cms_html=$(this).closest("div").find('.redactor_content').val(); 
+0

非常感谢@Mohammad Adil这工作完美,只是准时,现在我可以做一个Ajax调用不同的textarea :) – user1001176 2013-04-22 15:11:06

相关问题