点击带有“save_caption”类的链接时,我试图获取textarea(class =“caption_textarea”)的值。
textarea的值是用ajax更改的,我不在此处,因此它并不总是空的。
我有以下HTML代码:
<div class="caption_text" style="display:none;">
<div class="small_icons">
<a href="#" onclick="return false;" class="save_caption"><img src="<?php echo base_url('public/images/tick.png'); ?>"/></a>
<a href=""><img src="<?php echo base_url('public/images/delete.png'); ?>"/></a>
</div>
<textarea id="<?php echo $image_name_without_path[0]; ?>" class="caption_textarea" cols="32" rows="2" name="caption_text"></textarea>
</div>
我尝试了jquery的next,nearest和find方法,但是我无法将最近的textfield值的值检索到单击的a元素。下面的Jquery代码:
jQuery(document).ready(function($) {
$('.save_caption').live("click", function() {
alert($(this).closest('textarea').find('.caption_textarea').val());
});
});
答案 0 :(得分:0)
nearest()查找关闭祖先。您可能想尝试 next()或 nextAll()
jQuery(document).ready(function($) {
$('.save_caption').live("click", function() {
alert($(this).next('textarea.caption_textarea').val());
});
})
或类似的东西应该可以正常工作。
答案 1 :(得分:0)
您可以使用.closest()找到共同的父caption_text
,然后使用.find()找到其中的textarea
jQuery(document).ready(function($) {
$('.save_caption').live("click", function() {
alert($(this).closest('.caption_text').find('.caption_textarea').val());
});
});
答案 2 :(得分:0)
jQuery(document).ready(function($) {
$('.save_caption').live("click", function() {
alert($(this).closest('.caption_text').find('.caption_textarea').val());
});
});
答案 3 :(得分:0)
你为什么使用最近的?我可能错过了你的代码的一些细节。 无论哪种方式,解决方案都不会是:
alert($('.mytextarea').val());
或者:
alert($('.mytextarea').html());
如果您的问题是该类不是该文本区域的唯一(我会使用id,但这取决于您),请尝试:
alert($(this).next().val());
您可以使用'textarea.mytextarea'将其严格保留为textareas或.next('textarea')。
欢迎更正和版本。
ps:确保“this”为您提供正确的元素。
答案 4 :(得分:0)
稍微改变选择器。首先选择 .save_caption 的父级,然后查找具有 .caption_textarea 类的兄弟姐妹。您的代码在下面稍作修改 -
jQuery(document).ready(function($) {
$('.save_caption').live("click", function() {
alert($(this).parent().siblings('.caption_textarea').val());
});
});
希望它能奏效。