jQuery点击没有做任何事情?

时间:2013-01-22 05:40:06

标签: jquery dom

以下代码应该在点击<span class="edit_submit"></span>时获取textarea的内容并通过POST将其发送到edited_page.php,然后显示{的内容{1}}。目前,我不相信该功能甚至正在运行。有什么想法吗?

Fiddle is here.

edited_page.php

HTML:

$('.edit_submit').on('click', function () {
                $parent = $(this).parent()
                $textarea = $(this).siblings(".el-rte").child(".workzone").child("textarea");
                $text = $textarea.val();
                $id = $textarea.attr('id');
                $parent.html("images/load.jpg").load("edited_page.php", {location: $id, content: $text, page: "<?php echo $page; ?>"});
            });

4 个答案:

答案 0 :(得分:2)

这里是working fiddle ... jquery中没有child()方法我使用了children() ...并解决了你小提琴中存在的问题

$('.edit_submit').on('click', function () {
           $parent = $(this).parent()
           $textarea = $(this).siblings(".el-rte").children(".workzone").children("textarea");
           $text = $textarea.val();
           $id = $textarea.attr('id');
           alert($id);
           $parent.html("images/load.jpg").load("edited_page.php", {location: $id, content: $text, page: "<?php echo $page; ?>"});
        });

并且通过儿童和兄弟姐妹继续前进 ..你可以使用find()

$textarea = $parent.find('textarea');

<强>更新

fiddle

答案 1 :(得分:1)

您需要进行以下更改。

<div id="main"> 
<textarea id="main">

DOM的ID必须是独一无二的

对于多个DOM,您拥有相同的ID,我认为这是问题所在。

$textarea = $(this).prev(".el-rte").find(".workzone textarea");
console.log($textarea);

答案 2 :(得分:0)

试试这个..

$('.edit_submit').click( function () {
                $parent = $(this).parent()
                $textarea = $(this).siblings(".el-rte").child(".workzone").child("textarea");
                $text = $textarea.val();
                $id = $textarea.attr('id');
                $parent.html("images/load.jpg").load("edited_page.php", {location: $id, content: $text, page: "<?php echo $page; ?>"});
            });

答案 3 :(得分:0)

$textarea = $(this).siblings(".el-rte").child(".workzone").child("textarea"); 

更改为

$textarea = $(this).siblings(".el-rte").children(".workzone").children("textarea");

并将代码编入document ready

$(document).ready(function(){
    $('.edit_submit').on('click', function () {
        $parent = $(this).parent()
        $textarea = $(this).siblings(".el-rte").children(".workzone").children("textarea");
        $text = $textarea.val();
        $id = $textarea.attr('id');
        $parent.html("images/load.jpg").load("edited_page.php", {location: $id, content: $text, page: "<?php echo $page; ?>"});
    });
})

demo here