jQuery在点击不同div中的不同按钮时获取textarea的值

时间:2013-04-22 15:04:00

标签: php jquery html

我正在创建一个jQuery函数,我在其中使用一个类作为第二个div按钮中常见的按钮。我的HTML标记是

  <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中的条件检查得到textarea的值,如果这个按钮有这个类那么得到我的div的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的值。

2 个答案:

答案 0 :(得分:2)

如果你按下按钮,你想要前一个文本框值。这样做更容易:

$(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所以.val()将得到数组中的第一个textarea并获得该值,就会出现问题。总是第一个redactor_content

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

答案 1 :(得分:1)

试试这个 -

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