1

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

小提琴来了。

$('.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; ?>"});
            });

HTML:

<div id="main">
    <div class="el-rte">
        <div class="workzone" style="height: 400px;">
            <textarea id="main" class="edit_area" style="display: none; height: 400px;" name="main">
                &lt;b&gt;Hello. &lt;/b&gt;&lt;i&gt;This is sam &lt;/i&gt;&lt;u&gt;Testing this website&nbsp;&lt;/u&gt;
            </textarea>
        </div>
    </div>
    <span class="edit_submit" style="background:black;">Save Edit</span></div>
</div>
4

4 回答 4

2

这是工作小提琴......我使用的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');

更新

小提琴

于 2013-01-22T05:46:08.987 回答
1

您需要进行以下更改。

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

DOM的 ID必须是唯一的

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

或者

$textarea = $(this).prev(".el-rte").find(".workzone textarea");
console.log($textarea);
于 2013-01-22T05:52:05.107 回答
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; ?>"});
            });
于 2013-01-22T05:43:04.777 回答
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; ?>"});
    });
})

演示在这里

于 2013-01-22T05:46:39.567 回答