0

我正在创建一个 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 的值,如果此按钮具有此类,则获取此按钮和 textarea 所在的 div 的 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 的值。

4

2 回答 2

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();
于 2013-04-22T15:06:14.980 回答
1

试试这个 -

var cms_html=$(this).closest("div").find('.redactor_content').val();
于 2013-04-22T15:07:22.000 回答