我有 3 个文本框和一个按钮,我需要做的是在按钮上单击我希望文本出现在光标所在的文本框中。
我可以为一个文本框做到这一点,但对于 3 个不同的文本框,我需要 3 个不同的按钮。
你能帮我只用一个按钮吗??? 请帮忙..
这是我为 1 个文本框完成的工作:
函数 insertAtCaret(areaId, embedctrl) {
var text = document.getElementById(embedctrl).value;
if (text != "-1") {
var txtarea = document.getElementById(areaId);
var scrollPos = txtarea.scrollTop;
var strPos = 0;
var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ?
"ff" : (document.selection ? "ie" : false));
if (br == "ie") {
txtarea.focus();
var range = document.selection.createRange();
range.moveStart('character', -txtarea.value.length);
strPos = range.text.length;
}
else if (br == "ff") strPos = txtarea.selectionStart;
var front = (txtarea.value).substring(0, strPos);
var back = (txtarea.value).substring(strPos, txtarea.value.length);
txtarea.value = front + text + back;
strPos = strPos + text.length;
if (br == "ie") {
txtarea.focus();
var range = document.selection.createRange();
range.moveStart('character', -txtarea.value.length);
range.moveStart('character', strPos);
range.moveEnd('character', 0);
range.select();
}
else if (br == "ff") {
txtarea.selectionStart = strPos;
txtarea.selectionEnd = strPos;
txtarea.focus();
}
txtarea.scrollTop = scrollPos;
}
}
在上面的示例中,下拉列表的(embedctrl)选定值被插入到文本框中的光标位置。
第 2 部分:
我尝试使用下拉列表在文本框中插入文本,但它不起作用。有什么见解可以解释为什么吗???
<script type="text/javascript">
$(document).ready(function () {
var selectedTextBox;
$("input[type='text']").on("focusin", function () {
debugger;
selectedTextBox = this;
});
$("#ddlEmbedDBField").on("change", function () {
debugger;
var value = document.getElementById('<%=ddlEmbedDBField.ClientID%>').value;
if (document.getElementById('<%=ddlEmbedDBField.ClientID%>').value != "0")
{
$(selectedTextBox).val(value);
}
});
});
</script>
最佳答案
只要焦点发生变化,您就可以跟踪选定的文本框:
<script type="text/javascript">
$(document).ready(function(){
var selectedTextBox;
$("input[type='text']").on("focusin", function() {
selectedTextBox = this;
});
$('#ddl').on("change",function(){
var selectedVal = this.value;
$(selectedTextBox).val(selectedVal);
});
});
</script>
显然,如果您的选择器不止三个文本框,则必须在选择器中更加具体。
关于javascript - 3个文本框,1个按钮,单击按钮将文本放入光标所在的文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27543996/