javascript - jquery事件没有变化

标签 javascript jquery forms validation select

is(:focus) 是一种方法。最终代码如下:

setInterval(function(){
    if($j("SELECT[name='cf20_field_7']").is(":focus")) return false; 
    var information = '';
    var i = 1;
    $j("#cf20_field_1").html();
    //add new information to hidden field
    $j("#cforms20form .info_for_email").each(function(){
        var name = $j(this).find("INPUT[name='cf20_field_5']").val();
        var inn = $j(this).find("INPUT[name='cf20_field_6']").val();
        var view = $j(this).find("SELECT[name='cf20_field_7']").val();
        //render
        information += i + ")";
        information += "Наименование организации: " + name + ".<br/>\n";
        information += "Реквизиты организации: " + inn + ".<br/>\n";
        information += "Стоимость заказа: выписка " + view + ".<br/>\n";
        i++;
    })
    $j("#cf20_field_1").html(information);

    hovered = true;
}
    ,100
);

当选择字段中没有悬停时,是否有可能触发函数。

也可能有一种方法来检查 SELECT 字段上是否没有悬停。

它会导致问题。当您尝试选择另一个选项时,setInterval 正在工作时光标会乞求。

下面列出了我发现的最佳方法:

//every 100 mil secconds update info
setInterval(function(){

    $j("SELECT[name='cf20_field_7']").trigger('change');
    if ( $j("SELECT[name='cf20_field_7']").on("change")) return false;
    var information = '';
    var i = 1;
    $j("#cf20_field_1").html();
    //add new information to hidden field
    $j("#cforms20form .info_for_email").each(function(){
        var name = $j(this).find("INPUT[name='cf20_field_5']").val();
        var inn = $j(this).find("INPUT[name='cf20_field_6']").val();
        var view = $j(this).find("SELECT[name='cf20_field_7']").attr("value");
        //render
        information += i + ")";
        information += "Наименование организации: " + name + ".<br/>\n";
        information += "Реквизиты организации: " + inn + ".<br/>\n";
        information += "Стоимость заказа: выписка " + view + ".<br/>\n";
        i++;
    })
    $j("#cf20_field_1").html(information);
}
    ,100
);

更多信息: 我可以更多地描述情况。所以我有一个表格。 onsubmit 事件不起作用,因为还有另一个事件是 Attachet。所以我决定每 100 毫秒更新一次表单第一个字段的值。该值包含所有动态创建的“选择和输入”。但是当我尝试通过鼠标更改选择的值时。该函数被触发,函数检查 select 的值并导致鼠标请求。所以我需要以某种方式检查该选择是否悬停以防止触发该函数。

最佳答案

此处无效:

if ( SELECT[name='cf20_field_7'].on("change"))

我想你需要这个:

if ( $("SELECT[name='cf20_field_7']").on("change"))

但是,上面的内容仍然无效。您需要一些处理程序,例如:

$("SELECT[name='cf20_field_7']").on("change", function(){
    return false;
});

关于javascript - jquery事件没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212766/

相关文章:

javascript - 根据另一个日期选择器的值设置日期选择器的 min 属性

javascript - 在卸载/离开页面之前检查给定表单中的更改

javascript - 在jquery中的rel下调用UL

javascript - 使用 Sinon 创建 document.getSelection stub

jquery - 验证JQuery : Uncaught TypeError: Cannot call method 'call' of undefined

javascript - HTML Onclick 事件仅适用于 # anchor 标记

javascript - 如何设置动画状态完成

javascript - jQuery 根据另一个下拉列表的值填充下拉列表

jquery - 删除按钮 onclick 并在某些操作后将其添加回来

javascript - 删除特定字段的 novalidate