JQuery - 向输入添加值,但一个输入没有“.value”属性

詹姆斯

所以我想要一个函数,它像真人一样写入输入(通过触发所有事件)这是我写的代码:

仔细看看“element.value += text_array[i]”部分。

function FillInText(element_id, text){
    var element = $("#"+element_id);
    element.focus();
    element.click();

    var kdown = jQuery.Event("keydown");
    var kup = jQuery.Event("keyup");

    var text_array = text.split("");

    for(i = 0; i < text_array.length; i++){
        var code = text_array[i].charCodeAt(0);
        kdown.which = code;
        kup.which = code;

        element.trigger(kdown);
        element.change();
        element.value += text_array[i];
        element.trigger(kup);        
    }
    element.blur();
}

这段代码非常适合任何输入,并且在 99% 的情况下都能正常工作。但是有一个输入字段,其值未存储在其“.value”属性中。当我尝试使用它设置/获取值时,没有任何返回。但是,我可以使用 JQuery 的“val()”函数来获取它。

但是“Element.value”的完美之处在于您可以为现有值添加一些值。据我所知,你不能用“val()”来做到这一点。虽然你可以使用:

val(function(index,currentvalue){
        return currentvalue + text_array[i];
});

代码将其理解为:previousValue 是“a”,而 addedValue 是“b”。输入字段是“a”,它将“b”加在一起,然后放入输入中。所以它不会添加“a”,而是删除现有的然后添加“ab”。使用“element.value += 'b'”时,它甚至不会触及previousValue,而是将其添加到其中。我想要一个类似的功能:

element.val() += "b";

我希望你能理解我的问题......如果我解释不好,我很抱歉。

巴马

我认为您的代码不适用于任何输入。

.value是一个 DOM 属性,但element包含一个 jQuery 对象,而不是一个 DOM 元素。您可以通过索引它来获取相应的 DOM 元素:

element[0].value += test_array[i];

您可以使用 jQuery.val()使用函数添加值

element.val(function(_, old_value) {
    return old_value + test_array[i];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery向滚动中的两个元素添加一个类,但具有不同的属性

来自分类Dev

仅当使用javascript / jquery的另一个输入不为空时,如何添加必需的属性?

来自分类Dev

jQuery的.css没有向正文添加background属性

来自分类Dev

如何使用jquery向img标签添加一个新属性'ref =“ gallery”'?

来自分类Dev

javascript jquery查找多个没有特定属性的隐藏输入

来自分类Dev

jQuery在输入元素旁边添加一个元素

来自分类Dev

jQuery在一个输入字段内添加数字

来自分类Dev

输入属性jQuery数组

来自分类Dev

使用 jquery 启用输入并添加所需的属性

来自分类Dev

为什么jQuery设置jQuery disable属性仅在第一个单选输入上起作用?

来自分类Dev

用jquery匹配两个数组,并为value和data-attribute之间的匹配添加一个属性

来自分类Dev

jQuery具有一个功能RegExp的多个输入

来自分类Dev

使用Jquery在动态输入中添加值

来自分类Dev

如果一个输入中有相同的类,则多个输入字段的jQuery总和

来自分类Dev

当另一个输入有值时,jQuery禁用输入

来自分类Dev

当另一个输入有值时,jQuery禁用输入

来自分类Dev

jQuery追加输入-转义属性

来自分类Dev

jQuery动态输入另一个输入的值

来自分类Dev

输入事件时获取最后一个输入jQuery

来自分类Dev

是否有一个jQuery函数来列出属性?

来自分类Dev

使用jQuery向没有类或id的HTML标签添加属性

来自分类Dev

在React JS中使用一个onChange处理程序处理动态文本输入而没有名称属性

来自分类Dev

HTML输入覆盖一个属性

来自分类Dev

如果输入文本字段具有使用jQuery的某些类,如何添加属性

来自分类Dev

如何使用 jquery 添加和删除具有属性的输入元素

来自分类Dev

JS / JQuery:动态添加“ pattern”和“ title”属性以形成输入

来自分类Dev

JS / JQuery:动态添加“样式”和“标题”属性以形成输入

来自分类Dev

如何使用jQuery在输入标签内添加属性?

来自分类Dev

使用JQuery从另一个元素的ID向图像分配属性

Related 相关文章

  1. 1

    jQuery向滚动中的两个元素添加一个类,但具有不同的属性

  2. 2

    仅当使用javascript / jquery的另一个输入不为空时,如何添加必需的属性?

  3. 3

    jQuery的.css没有向正文添加background属性

  4. 4

    如何使用jquery向img标签添加一个新属性'ref =“ gallery”'?

  5. 5

    javascript jquery查找多个没有特定属性的隐藏输入

  6. 6

    jQuery在输入元素旁边添加一个元素

  7. 7

    jQuery在一个输入字段内添加数字

  8. 8

    输入属性jQuery数组

  9. 9

    使用 jquery 启用输入并添加所需的属性

  10. 10

    为什么jQuery设置jQuery disable属性仅在第一个单选输入上起作用?

  11. 11

    用jquery匹配两个数组,并为value和data-attribute之间的匹配添加一个属性

  12. 12

    jQuery具有一个功能RegExp的多个输入

  13. 13

    使用Jquery在动态输入中添加值

  14. 14

    如果一个输入中有相同的类,则多个输入字段的jQuery总和

  15. 15

    当另一个输入有值时,jQuery禁用输入

  16. 16

    当另一个输入有值时,jQuery禁用输入

  17. 17

    jQuery追加输入-转义属性

  18. 18

    jQuery动态输入另一个输入的值

  19. 19

    输入事件时获取最后一个输入jQuery

  20. 20

    是否有一个jQuery函数来列出属性?

  21. 21

    使用jQuery向没有类或id的HTML标签添加属性

  22. 22

    在React JS中使用一个onChange处理程序处理动态文本输入而没有名称属性

  23. 23

    HTML输入覆盖一个属性

  24. 24

    如果输入文本字段具有使用jQuery的某些类,如何添加属性

  25. 25

    如何使用 jquery 添加和删除具有属性的输入元素

  26. 26

    JS / JQuery:动态添加“ pattern”和“ title”属性以形成输入

  27. 27

    JS / JQuery:动态添加“样式”和“标题”属性以形成输入

  28. 28

    如何使用jQuery在输入标签内添加属性?

  29. 29

    使用JQuery从另一个元素的ID向图像分配属性

热门标签

归档