这段代码的功能是:点击input输入框弹出选择层!目前情况是:
点击 第一个input 弹出 <div id="selectItem">
点击 第二个input 弹出 <div id="selectItem2">现在我想要的效果是 点击每个input时候弹出都是层一 <div id="selectItem">弹出层一</div>我 把  
 $("#address2").selectCity("#selectItem2"); 
修改成 $("#address2").selectCity("#selectItem");但运行不了,老师请指导一下。谢谢。
我把部分重要代码贴出来吧<style type="text/css"> 
body{font-size:12px;}
.selectItemcont{padding:8px;}
#selectItem{background:#FFF;position:absolute;top:0px;left:center;border:1px solid #000;overflow:hidden;width:240px;z-index:1000;}
#selectItem2{background:#FFF;position:absolute;top:0px;left:center;border:1px solid #000;overflow:hidden;width:240px;z-index:1000;}
.selectItemtit{line-height:20px;height:20px;margin:1px;padding-left:12px;}
.bgc_ccc{background:#E88E22;}
.selectItemleft{float:left;margin:0px;padding:0px;font-size:12px;font-weight:bold;color:#fff;}
.selectItemright{float:right;cursor:pointer;color:#fff;}
.selectItemcls{clear:both;font-size:0px;height:0px;overflow:hidden;}
.selectItemhidden{display:none;}
</style> 
<script src="jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript" src="jquery.bgiframe.js"></script>
<script>
 
jQuery.fn.selectCity = function(targetId) {
var _seft = this;
var targetId = $(targetId); this.click(function(){
var A_top = $(this).offset().top + $(this).outerHeight(true);  //  1
var A_left =  $(this).offset().left;
targetId.bgiframe();
targetId.show().css({"position":"absolute","top":A_top+"px" ,"left":A_left+"px"});
}); targetId.find("#selectItemClose").click(function(){
targetId.hide();
}); targetId.find("#selectSub :checkbox").click(function(){
targetId.find(":checkbox").attr("checked",false);
$(this).attr("checked",true);
_seft.val( $(this).val() );
targetId.hide();
}); $(document).click(function(event){
if(event.target.id!=_seft.selector.substring(1)){
targetId.hide();
}
}); targetId.click(function(e){
e.stopPropagation(); //  2
});    return this;
}
 
$(function(){
//test1:
$("#address").selectCity("#selectItem");
//test2:
$("#address2").selectCity("#selectItem2");
});
 </script>
</head>
<body>
<br/>
此弹出框特点:<br/>
1,弹出层出现在 文本框 下面.<br/>
2,点击弹出层内部 不关闭层,点击外面关闭弹出层.<br/>
3,ie6依然能遮住下拉框.<br/><br/>地址选择一:<br/>
<input type="text" name="address" id="address" >
<br/><br/>
地址选择二:<br/>
<input type="text" name="address2" id="address2" size="20" >
<br/><br/><br/><div id="selectItem" class="selectItemhidden"> 
<div id="selectItemAd" class="selectItemtit bgc_ccc"> 
<h2 id="selectItemTitle" class="selectItemleft">弹出窗口一</h2> 
<div id="selectItemClose" class="selectItemright">关闭</div>
</div> 
<div id="selectItemCount" class="selectItemcont"> 
<div id="selectSub"> 
<input type="checkbox" name="cr01"  id="cr01" value="北京1"/><label for="cr01">北京1</label>
<input type="checkbox" name="cr02"  id="cr02" value="北京2"/><label for="cr02">北京2</label>
<input type="checkbox" name="cr03"  id="cr03" value="北京3"/><label for="cr03">北京3</label>
<input type="checkbox" name="cr09"  id="cr09" value="北京4"/><label for="cr09">北京4</label>
</div> 
</div> 
</div> 
<div id="selectItem2" class="selectItemhidden"> 
<div id="selectItemAd" class="selectItemtit bgc_ccc"> 
<h2 id="selectItemTitle" class="selectItemleft">弹出窗口二</h2> 
<div id="selectItemClose" class="selectItemright">关闭</div>
</div> 
<div id="selectItemCount" class="selectItemcont"> 
<div id="selectSub"> 
<input type="checkbox" name="cr04"  id="cr04" value="上海1"/><label for="cr04">上海1</label>
<input type="checkbox" name="cr05"  id="cr05" value="上海2"/><label for="cr05">上海2</label>
<input type="checkbox" name="cr06"  id="cr06" value="上海3"/><label for="cr06">上海3</label>
<input type="checkbox" name="cr07"  id="cr07" value="上海4"/><label for="cr07">上海4</label>
</div> 
</div> 
</div> 
</div>jQuery点击input输入框弹出选择层

解决方案 »

  1.   


      $('#QuestionRep').children("dl").children("dd").children("p[align='left']").children("span").each(function (index, item) {
                    $(this).hover(function (e) {
                        $('#divshow').text($(this).siblings("input[type='hidden']").val()).css({ top: (e.pageY), left: (e.pageX) }).show();
                    }, function () {
                        $('#divshow').hide();
                    }).mouseout(function () {
                        $('#divshow').hide();
                    });
                });
    找到你的input标签使用each循环绑定事件
      

  2.   


    我刚学JS。所以对jquery不熟,麻烦大哥详细的,通俗的,教一下我这个菜鸟。