0

您好,我想要目录中的文件列表和每个文件下方的表单,允许我的用户命名它们。这一切都很清楚 - 我在 php 中制作了它,但现在我想要这个列表和隐藏表单,当我点击我的文件名之一时,表单显示在点击的名称下。

像这里的东西:http: //papermashup.com/demos/jquery-sliding-div/#

这是代码: http: //papermashup.com/simple-jquery-showhide-div/

但它的工作原理是,当我单击一个文件时,所有表单都会显示或全部隐藏。如何修复它仅适用于单击的文件?

JSFIDDLE 示例:http: //jsfiddle.net/qbNrR/

@UPDATE - 类似的问题

嘿,我在提交 ajax 表单时遇到了类似的问题 - 使用本教程: http: //net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

我的表单在 div id=#upform 中,当我尝试通过 $.ajax 提交其中任何一个时,它只提交第一个,这是代码:

<script> 
 $(function() {
    $(".button").click(function() {
        var txt = $(".tekst#test").val();
        var dataString = 'tekst=' + tekscior;
        $.ajax({
            type: "POST",
            url: "upload/base",
            data: dataString,
            success: function() {
                $('#upform').html("<div id='message'></div>");
                $('#message')
                    .html("<h2>described!</h2>")
                    .append("<p>thanks!</p>")
                    .hide()
                    .fadeIn(1500, function() {
                        $('#message')
                            .append("<img id='checkmark' src='http://artivia-dev2/i/check.png' />");
                });
            }
        });
        return false;
    });
});​
</script>

这是我的表格:

// 只有这一个被提交,即使我正在提交第二个!

<div class="slidingDiv">
<div id="upform">
<form name="contact" action="">  
<input type="text" value="TESTFORM" class="tekst" id="test">
<input type="submit" name="submit" class="button" id="submit" value="Send" />
<form>
</div> 


<div class="slidingDiv">
<div id="upform">
<form name="contact" action=""> 
<input type="text" value="TESTFORM" class="tekst" id="test">
<input type="submit" name="submit" class="button" id="submit" value="Send" />
<form>
</div> 
4

3 回答 3

2

您可以使用next()jQuery 方法。然后您的代码将如下所示:

$(document).ready(function() {
    $(".slidingDiv").hide();
    $(".show_hide").show();
    $('.show_hide').click(function(e) {
        $(e.target).next(".slidingDiv").slideToggle();
    });
});​
于 2012-05-25T09:22:56.647 回答
0

尝试 event.currentTarget 获取触发点击事件的表单

于 2012-05-25T09:07:49.873 回答
0

在点击事件上使用 jquery 之类的

$(this).show(); // or hide();

如示例

$('.show_hide').click(function(){
  //$(".slidingDiv").slideToggle();
  $(this).slideToggle();
});
于 2012-05-25T09:10:36.330 回答