Javascript 用下一次迭代输入值更改第一次迭代输入值
结构概念:-Javascript 用下一次迭代输入值更改第一次迭代输入值,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,结构概念:- 基本上,我正在尝试创建包含输入的模式窗口,当前,当索引页面上的输入获得焦点时,该模式窗口将启动,因为我已经使用数据属性通过为它们分配相同的属性值在它们之间建立链接 Javascript概念:- 对于模态窗口,我已经创建了模态对象。模型对象包含一个bindModal方法,该方法接受一个参数,该参数是数据属性值。获取该值后,bindModal方法将搜索包含该特定值的dom元素,搜索后,我使用每个循环对它们进行迭代 问题 所以基本上,我希望每当用户开始在模型输入上输入时,它都会自动写入索
基本上,我正在尝试创建包含输入的模式窗口,当前,当索引页面上的输入获得焦点时,该模式窗口将启动,因为我已经使用数据属性通过为它们分配相同的属性值在它们之间建立链接 Javascript概念:-
对于模态窗口,我已经创建了模态对象。模型对象包含一个bindModal方法,该方法接受一个参数,该参数是数据属性值。获取该值后,bindModal方法将搜索包含该特定值的dom元素,搜索后,我使用每个循环对它们进行迭代 问题 所以基本上,我希望每当用户开始在模型输入上输入时,它都会自动写入索引页面的输入中 如果大家能帮助我使代码更优化、结构更完善,我将不胜感激,最重要的是让我知道我在总体工作中犯了什么错误,谢谢 JavaScript代码
var modal = function () {
this.toggleModal = function () {
$('#modal').toggleClass('content--inActive').promise().done(function () {
$('#modal__close').on('click',function(){
$('#modal').addClass('content--inActive');
});
});
}
this.bindModal = function (bindVal) {
var bindValue = $(document).find('[data-modal-bind = ' + bindVal + ']');
$.each(bindValue, function (index) {
var bind1 = $(this);
if(index === 1) {
var bind2 = $(this);
$(bind1).change(function (){
$(bind2).val(bind1.val());
});
}
});
}
}
var open = new modal();
$('#input_search').on('click',function(){
open.toggleModal();
open.bindModal('input');
});
这里有一种方法可以满足您的需求:
var modal = function() {
this.bindModal = function(bindVal) {
var bindValue = $('[data-modal-bind = ' + bindVal + ']');
bindValue.each(function(index) {
$(this).keyup(function() {
var value = $(this).val();
bindValue.each(function(i, e) {
$(this).val(value);
});
});
});
}
}
$('#input_search').on('click', function() {
var open = new modal();
open.bindModal('input');
});
已完成的更改:
我将具有相同绑定值的输入缓存在bindValue
变量中,然后为每个变量绑定keyup
事件。在键控
上,当前输入的值被输入值
,然后使用内环分配给每个输入
这使得输入在键入时保持同步。希望这能解决您的问题。那么基本上您想实时更新值吗?是的,我想实时更新值
change
事件在焦点熄灭时触发。如果您想要实时更新,请使用keypress
,或keypup
事件。即使将其更改为keypress,也不会工作。您可以提供一个插件或摆弄您的代码吗?谢谢,兄弟,它可以工作另一件事我制作的结构是否有效(这是好方法还是坏方法)@NiteshYadav——我不建议重新发明轮子。尝试使用MVVM框架,这当然会简化工作。是这类任务的著名框架。