两个不同id的div可以同时调用一个ul表单里的数据, 这样能实现吗?

<script type="text/javascript">
$(document).ready(function(){
$("#a1 input").click(function(){
$("#tooltips").toggle(); //点击文本框弹出div
$("#a1").click(function(e) {
e.stopPropagation(); //点击弹出的div不做反应
});
});
$(document).click(function() {
$("#tooltips").hide(); //点击网页任意地方,div消失,与上面合起来就是点击除
}); //弹出的div之外的地方div消失
$(".quyu_selectGroups a").click(function(){
var thistext = $(this).text(); //获取点击的内容
$("#tooltips").hide(); //div消失
$("#a1 input").val(thistext); //值自动填写到文本框中
});
});
</script>

<div id="a1" >
<input type="text"></div>
<div id="tooltips" style="border:solid 1px red; display:none;">
<ul class="quyu_selectGroups">
<li><a href="javascript:void(0)">text1</a></li>
<li><a href="javascript:void(0)">test2</a></li>
<li><a href="javascript:void(0)">test3</a></li>
<li><a href="javascript:void(0)">test4</a></li>
<li><a href="javascript:void(0)">test5</a></li>
</ul> </div>
我想增加多一个id为a2的div, 能不能使这个a2同时调用li里的数据?因为li里的数据太多,有1000多行,
我不想再复制一份li列表到a2里,这样会增加代码量,
我是想要两个不同id的div可以同时调用一个ul表单里的数据, 这样能实现吗?

可以实现,就是用一个变量记住当前选的是哪个文本框就行了。

你试试如下代码(我没优化,应该是做成循环更好)。


<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="jquery-1.11.2.min.js"></script>
<script type="text/javascript">
var currentN=1;
$(document).ready(function(){
  $("#a1 input").click(function(){
$("#tooltips").toggle();                        //点击文本框弹出div
$("#a1").click(function(e) {
currentN=1;            //记住点击了哪个文本框
e.stopPropagation();                        //点击弹出的div不做反应
});
  });
  $("#a2 input").click(function(){
$("#tooltips").toggle();                        //点击文本框弹出div
$("#a2").click(function(e) {
currentN=2;            //记住点击了哪个文本框
e.stopPropagation();                        //点击弹出的div不做反应
});
  });
 
  $(document).click(function() {
    $("#tooltips").hide();                        //点击网页任意地方,div消失,与上面合起来就是点击除
  });                                                      //弹出的div之外的地方div消失
  $(".quyu_selectGroups a").click(function(){
    var thistext = $(this).text();            //获取点击的内容
    $("#tooltips").hide();                      //div消失
    $("#a"+currentN+" input").val(thistext);        //值自动填写到(*当前点击的那个*)文本框中
  });
});
</script>
</head>
<body>
<div id="a1"><input type="text"></div>
<div id="a2"><input type="text"></div>
    <div id="tooltips" style="border:solid 1px red; display:none;">
<ul class="quyu_selectGroups">
 <li><a href="javascript:void(0)">text1</a></li>
 <li><a href="javascript:void(0)">test2</a></li>
 <li><a href="javascript:void(0)">test3</a></li>
 <li><a href="javascript:void(0)">test4</a></li>
 <li><a href="javascript:void(0)">test5</a></li>
</ul>  
</div>  
</body>
</html>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-23
是指<ul class="quyu_selectGroups">这个下面的所以li的内容吗?如果是的话,你可以使用$('.quyu_selectGroups')这样来获取到这个ul,然后使用$('.quyu_selectGroups').find('li')就能获取到所有的li标签了
第2个回答  2014-12-29
这不是很简单吗?你定义一个div _data专门用来放li数据的,
再定义多个div_box 专门用来显示的,
那么div_box.html=div_data.html 这样不就可以了?追问

具体怎么做?能说详细点吗?

第3个回答  2014-12-29
可以的,但是最好不要这样,id就是唯一的代表追问

可能你没有看懂我的意思,
这些a1和a2的id都没有重复的,
我想问这个a1和a2能不能只用一个“tooltips”里的li作为它作的弹出框?
而不用复制多一份“tooltips”分别调用,
如果可以,具体怎么做?能说详细点吗?