0

单击复选框时,我似乎很难显示 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

4 回答 4

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');
});
于 2013-04-15T18:32:43.390 回答
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");
}
于 2013-04-15T18:25:56.493 回答
0

像这样将单击的元素传递到您的函数中

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

function show(element){
    $(element).parent().find('.hide').css("display","block");
}
于 2013-04-15T18:27:51.877 回答
0

您甚至不需要复选框是 div 的直接子级的类。

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

只需确保将单击处理程序绑定到复选框,这肯定会起作用。

并且只是为了确保您正确绑定事件,请在单击复选框时尝试此操作

 function test(){
     var test = $(this).parent().attr('class');
     alert(test);

   }

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

于 2013-04-15T18:29:37.513 回答