[英]javascript pass value from select multiple to a selected textfield
我有多个文本字段和一个这样的选择多个
<input type="text" placeholder="1"><br>
<input type="text" placeholder="2"><br>
<input type="text" placeholder="3"><br>
<input type="text" placeholder="4"><br>
<select multiple="multiple">
<option>One</option>
<option>Two</option>
<option>Three</option>
<option>Four</option>
</select>
可以说我单击了文本字段1,然后单击了多个“一个”
并且值“ One”将传递到文本字段1,因为我之前单击了文本字段1。
如果我单击了文本字段2,则“一个”将传递给文本字段2
我希望您意识到您在问一个错误的问题,因为您没有提供任何尝试。 但是,我心情很好,碰巧发现这对我自己很有趣。
您的jQuery(没有普通的javascript)将是:
$(document).ready(function() {
var lastinput = null;
$("input").click(function() {
lastinput = $(this);
});
$("option").click(function() {
if (lastinput != null) {
lastinput.val($(this).text());
}
});
});
如本JSFiddle演示所示
好的,尽管要求使用JS,但我可以在此处看到一些jQuery回答。
这是JS之一:
var activeInput = false;
window.onload = function(event) {
allInputs = document.getElementsByTagName('input');
for (i = 0; i < allInputs.length; i++)
{
allInputs[i].addEventListener('focus', function(){activeInput = this;});
}
allOptions = document.getElementsByTagName('option');
for (i = 0; i < allOptions.length; i++)
{
allOptions[i].addEventListener('click', function(){ if (activeInput){activeInput.value = this.text;}});
}
}();
假设您使用的是jQuery? 如果不是这样,它会变得有点困难,但仍然很有可能。
// we have a variable to track which textbox we clicked on most recently
var focused = null;
$('input').focus(function(){
focused = this;
});
// when an option is clicked, we set the recently clicked textbox's value
$('option').click(function(){
if(focused){
$(focused).val($(this).text());
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.