用jquery显示div的问题

时间:2013-04-15 18:22:52

标签: javascript jquery onclick

当点击一个复选框时,我似乎很难显示div,问题非常简单,但我似乎找不到合适的jquery解决方案来解决这个问题,尽管我觉得我非常接近。

$html=
'<form action="contacted.php"  method="POST">
<input type = "hidden" name = "contact" class  = "hidden" value = "'.$ip.'">
<input type="checkbox" id="contact'.$ip.'" value = "'.$ip.'" onclick="show()"/>
<div class="hide" style="
    display:none;
    border:3px 
    solid black; 
    background-color:grey; 
    color:white; 
    width:200px; 
    position:absolute; 
    left:40%;
    top:20%;
    -moz-border-radius: 15px; 
    border-radius: 15px;
    padding:4px;
    z-index:1000;
    Width:500px;
">
<textarea name = "notes" style = "" > Let\'s get some notes about that...</textarea>
<input type="submit" value="YES"/>
<input type="button" value="NO" onclick="hide()">
</div>
</form>';

这是for循环,$ip是标识符。但它很直接。

我试过的jquery

function show(){
    $(this).parent().find('.hide').css("display","block")
}

我试图在单击复选框时显示div隐藏(这在同一页面上多次发生)并且我无法从jquery文档中拼凑出正确的组合。有任何想法吗?我肯定这会很简单,我更愿意除了javascript建议:)

4 个答案:

答案 0 :(得分:1)

将类添加到这样的输入中并尝试一下

<input type="checkbox" id="contact'.$ip.'" class="contact_click" value="'.$ip.'" onclick="show()"/>

$('.contact_click').on('click',function(){
    $(this).closest('div').css('css','block');
});

答案 1 :(得分:0)

试试这个

更改

<input type="checkbox" id="contact'.$ip.'" value = "'.$ip.'" onclick="show()"/>

<input type="checkbox" id="contact'.$ip.'" value = "'.$ip.'" onclick="show(this)"/>

和脚本为

function show()
{
    this.parent().find('.hide').css("display","block");
}

答案 2 :(得分:0)

将点击的元素传递到您的函数中

<input type="checkbox" id="contact'.$ip.'" value = "'.$ip.'" onclick="show(this)"/>

function show(element){
    $(element).parent().find('.hide').css("display","block");
}

答案 3 :(得分:0)

你甚至不需要该类复选框是div的直接子项。

       $(this).parent().show(0);

只需确保将点击处理程序绑定到复选框,这肯定会有效。

只是为了确保您绑定事件,请在单击复选框

时尝试此操作
 function test(){
     var test = $(this).parent().attr('class');
     alert(test);

   }

你应该隐藏起来。所以,如果你得到隐藏它正确绑定