当javascript更改输入值时触发更改或输入
我在一个使用JQuery的小项目中工作,在从html元素中删除错误类时遇到了问题 我正在使用当javascript更改输入值时触发更改或输入,javascript,jquery,html,event-handling,Javascript,Jquery,Html,Event Handling,我在一个使用JQuery的小项目中工作,在从html元素中删除错误类时遇到了问题 我正在使用$('selector')。在('input')上获取事件并删除input类,我的问题是该字段是用JavaScript生成的 示例 $('one')。在('input',function()上{ $('二').val($('一').val()); }); $(':input')。在('input',函数() { if($(this).hasClass('example')) { $(this.remov
$('selector')。在('input')
上获取事件并删除input
类,我的问题是该字段是用JavaScript生成的
示例
$('one')。在('input',function()上{
$('二').val($('一').val());
});
$(':input')。在('input',函数()
{
if($(this).hasClass('example'))
{
$(this.removeClass('example');
}
});代码>
。示例
{
颜色:橙色;
背景色:黑色;
}
正常情况
问题
#一个
#两个
在if
语句的true
分支中,使用方法和选择器查找该语句之后的下一个输入。这样,当第一个输入删除了类时,它后面的下一个输入也将删除它的类
另外,更改input
事件设置,以便将其设置为首先处理某个类的input
元素,并将每组input
中的第一个指定给该类
$('one')。在('input',function()上{
$('二').val($('一').val());
});
//仅当具有“input”类的输入获得输入时
$('input.input')。在('input',函数(){
if($(this).hasClass('input')){
$(this.removeClass('input');
//查找“this”后面的下一个输入同级
$(this).nextAll(“输入”).removeClass(“输入”);
}
});代码>
.input{
颜色:橙色;
背景色:黑色;
}
正常情况
问题
#一个
#两个
在if
语句的true
分支中,使用方法和选择器查找该语句之后的下一个输入。这样,当第一个输入删除了类时,它后面的下一个输入也将删除它的类
另外,更改input
事件设置,以便将其设置为首先处理某个类的input
元素,并将每组input
中的第一个指定给该类
$('one')。在('input',function()上{
$('二').val($('一').val());
});
//仅当具有“input”类的输入获得输入时
$('input.input')。在('input',函数(){
if($(this).hasClass('input')){
$(this.removeClass('input');
//查找“this”后面的下一个输入同级
$(this).nextAll(“输入”).removeClass(“输入”);
}
});代码>
.input{
颜色:橙色;
背景色:黑色;
}
正常情况
问题
#一个
#两个
您可以使用以下方法检查当前字段是否为#one
:
如果当前字段是#one
,您可以使用以下方法进行检查:
也许我在下面写的代码可以帮助你。这并不完美,但这是一个很好的起点。
我为相同“组”的输入添加了一个自定义属性,称之为数据组
。
我还修改了input
的监听器,通过一个监听器函数,您可以监听所有输入
检查这是否对你有帮助
$('.example')。在('input',function()上{
var值=此值;
var groupName=$(this.attr('data-group');
var groupElems=$(“[数据组='”+groupName+“]”);
groupElems.removeClass(“示例”);
groupElems.val(值);
});代码>
。示例
{
颜色:橙色;
背景色:黑色;
}
问题
#一个
#两个
问题
#三
#四
问题
#五
#六
也许我在下面写的代码对您有所帮助。这并不完美,但这是一个很好的起点。
我为相同“组”的输入添加了一个自定义属性,称之为数据组
。
我还修改了input
的监听器,通过一个监听器函数,您可以监听所有输入
检查这是否对你有帮助
$('.example')。在('input',function()上{
var值=此值;
var groupName=$(this.attr('data-group');
var groupElems=$(“[数据组='”+groupName+“]”);
groupElems.removeClass(“示例”);
groupElems.val(值);
});代码>
。示例
{
颜色:橙色;
背景色:黑色;
}
问题
#一个
#两个
问题
#三
#四
问题
#五
#六
您好,谢谢您的回复,问题是,如果#一个
成功,我只需要#两个
就可以删除该类,而不是任何输入it@JuanSalvadorPortugal这段代码就是这么做的,因为只有当if
语句的真正分支被命中时,才会运行额外的行。您好,谢谢您的回复,问题是,如果#one
执行该操作,我只需要#two
就可以删除该类,而不是任何输入执行该操作it@JuanSalvadorPortugal这段代码就是这么做的,因为只有当if
语句的真正分支被命中时,才会运行额外的行。OP说这将是一个重复模式,因此答案不能基于id
s,因为id
s需要唯一。OP说这将是一个重复模式,因此答案不能基于id
s,因为id
s需要唯一。
$(':input').on('input', function () {
if(($(this).is("#one"))) {
if ($('#two').hasClass('example'))
{
$('#two').removeClass('example');
}
}
if ($(this).hasClass('example'))
{
$(this).removeClass('example');
}
});