[英]How do you pass an object in jQuery when another object is clicked?
i have a html code like this: 我有这样的html代码:
<input type="text" class="form-control" id="txtCopyright" placeholder="IN" />
<div class="input-group-btn nopadding">
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="border-radius:0"><span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" id="myDropdown" role="menu">
<li><a>IN</a></li>
<li><a>BEFORE</a></li>
<li><a>AFTER</a></li>
</ul>
</div>
Other input-group 其他输入组
<input type="text" class="form-control" id="txtOtherInput" placeholder="Other" />
<div class="input-group-btn nopadding">
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="border-radius:0"><span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" id="myDropdown2" role="menu">
<li><a>1</a></li>
<li><a>2</a></li>
<li><a>3</a></li>
</ul>
</div>
and i have a jQuery like this.. 我有一个这样的jQuery。
$('#myDropdown li').click(function () {
$('#txtCopyright').val($(this).text());
});
$('#myDropdown2 li').click(function () {
$('#txtOtherInput').val($(this).text());
});
It actually work in me.. but the problem is that i want to use only one jQuery in all my dropdown.. it is easy to use for now because i have only 2 dropdown what if i have 20 dropdown then i will set 20 jQuery's and I think it is redundant.. 它实际上对我有用..但是问题是我想在所有下拉菜单中仅使用一个jQuery ..现在很容易使用,因为我只有2个下拉菜单,如果我有20个下拉菜单,那么我将设置20个jQuery我认为这是多余的。
My idea is to pass the id of inputs but how to do that.. 我的想法是传递输入的ID,但该怎么做。
Any idea.. 任何想法..
Please help me Thank you. 请帮帮我,谢谢。
If all dropdown/ input pairings each are contained in a single parent wrapper the whole issue is fairly easy. 如果所有下拉/输入对都包含在单个父包装中,那么整个问题就很容易了。 Give the input's a common class. 给输入一个普通的类。 Then from the dropdown it is a simple traverse to main parent and look for input inside by class 然后从下拉列表中轻松遍历主要父对象,然后按类在内部查找输入
<div class="module_wrap">
<input class="menu-input" type="text" class="form-control" id="txtCopyright" placeholder="IN" />
<div class="input-group-btn nopadding">
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="border-radius:0"><span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" id="myDropdown" role="menu">
<li><a>IN</a>
</li>
<li><a>BEFORE</a>
</li>
<li><a>AFTER</a>
</li>
</ul>
</div>
</div>
JS JS
$('.dropdown-menu li').click(function () {
$(this).closest('.module_wrap').find('.menu-input').val($(this).text());
});
Apply class selector and use data- attribute: 应用类选择器并使用data-属性:
<ul class="dropdown-menu dropdown-menu-right" id="myDropdown" data-control-id="txtCopyright" role="menu">
<li><a>IN</a>
</li>
<li><a>BEFORE</a>
</li>
<li><a>AFTER</a>
</li>
</ul>
and on click of li use closest()
or parent()
to get parent ul and then fetch its data-control-id
attribute value and then do like this: 并单击li时,使用closest()
或parent()
获取父ul ,然后获取其data-control-id
属性值,然后执行以下操作:
$('.dropdown-menu li').click(function () {
$('#'+$(this).closest(".dropdown-menu").data("control-id")).val($(this).text());
});
or: 要么:
$('.dropdown-menu li').click(function () {
$('#'+$(this).parent(".dropdown-menu").data("control-id")).val($(this).text());
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.