我正在创建一个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的值。
答案 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();