【问题标题】:jQuery change input text valuejQuery更改输入文本值
【发布时间】:2011-08-08 05:33:44
【问题描述】:

我找不到合适的选择器:

<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">

我想将值更改为 = 000000。我需要选择器找到“名称”而不是文本输入的 id。

这不应该工作吗?:

$("text.sitebg").val("000000");

提出的解决方案不起作用,这是什么问题?

$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
    $("#form1").append(data.sitebg);
    $('input.sitebg').val('000000');
});

JSON 数据工作正常;这个想法是稍后将 JSON 值传递到表单输入文本值中。但不工作:(

【问题讨论】:

    标签: jquery


    【解决方案1】:

    jQuery 使用父类更改输入文本值

    $('.form-submit input.submit').val('Johnny Bravo');
    
    • .form-submit 是父类
    • Johnny Bravo 是您要更改的文本

    【讨论】:

      【解决方案2】:

      设置元素的新值时,需要改变调用触发器。

      $('element').val(newValue).trigger('change');

      【讨论】:

      • 这为我解决了一个问题,即更改事件处理程序被调用两次;一次使用新值,然后再次使用 [attr=val]
      【解决方案3】:

      最佳做法是直接使用标识:

      $('#id').val('xxx');

      【讨论】:

      • 简单和最好的一个:)
      • 为什么这行得通,但document.getElementById("#id").value = 'xxx'; 对我不起作用?它不会改变出现的文本值,只会改变 DOM 元素的 value 属性。
      • 您已经使用了 ById 方法,# 用于 css 表示法。删除它。
      【解决方案4】:

      只是添加到 Jason 的答案中,. 选择器仅适用于类。如果要选择元素、id 或类以外的其他内容,则需要将其括在方括号中。

      例如

      $('element[attr=val]')

      【讨论】:

        【解决方案5】:

        改变文本输入字段值的jQuery方法是:

        $('#colorpickerField1').attr('value', '#000000')
        

        这会将 ID 为 #colorpickerField1 的 DOM 元素的属性 value#EEEEEE 更改为 #000000

        【讨论】:

        • 嗨,这在 chrome 控制台上对你有用吗?
        【解决方案6】:

        不,您需要执行以下操作:

        $('input.sitebg').val('000000');
        

        但如果可以的话,您确实应该使用唯一 ID。

        你也可以得到更具体的,比如:

        $('input[type=text].sitebg').val('000000');
        

        编辑:

        执行此操作以根据 name 属性查找您的输入:

        $('input[name=sitebg]').val('000000');
        

        【讨论】:

        • 我会接受这个遮阳篷,你能推荐一本关于 jquery 的好书/教程(最好是一本书),在那里我可以真正了解选择器吗?尤其是表单选择器S?
        • 这是迄今为止互联网上最好的东西:futurecolors.ru/jquery
        • @Jason 链接失效了,请问书名是什么?
        • @oyalhi 哦,不!对不起。该评论已有 5 年历史了,所以我想他们把它记下来了 :(
        • @Jason 不幸的是。不过,你还记得这本书的书名吗?
        猜你喜欢
        • 2012-05-13
        • 2011-06-26
        • 2016-03-25
        • 1970-01-01
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 2014-05-07
        • 2020-08-31
        相关资源
        最近更新 更多