将文本附加到输入字段

Kev*_*own 104 jquery text append

我需要在输入字段中附加一些文字......

Aym*_*ieh 197

    $('#input-field-id').val($('#input-field-id').val() + 'more text');
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="input-field-id" />
Run Code Online (Sandbox Code Playgroud)

  • 请在这个问题上阅读我的答案 - 真的没有理由不得不两次打电话给`$('#input-field-id')`...虽然很简单的回答 - + 1 (5认同)
  • 我觉得应该有一个函数可以像`innerHTML`一样增加输入的值. (2认同)

gna*_*arf 108

有两种选择.艾曼的方法是最简单的,但我会添加一个额外的注释.你应该真的缓存jQuery选择,没有理由调用$("#input-field-id")两次:

var input = $( "#input-field-id" );
input.val( input.val() + "more text" );
Run Code Online (Sandbox Code Playgroud)

另一个选项,.val()也可以将函数作为参数.这有利于轻松处理多个输入:

$( "input" ).val( function( index, val ) {
    return val + "more text";
});
Run Code Online (Sandbox Code Playgroud)

  • 喜欢'其他选择' - FP的好位. (2认同)

Mar*_*gus 17

如果您计划使用多次追加,则可能需要编写一个函数:

//Append text to input element
function jQ_append(id_of_input, text){
    var input_id = '#'+id_of_input;
    $(input_id).val($(input_id).val() + text);
}
Run Code Online (Sandbox Code Playgroud)

你可以打电话之后:

jQ_append('my_input_id', 'add this text');
Run Code Online (Sandbox Code Playgroud)


kgi*_*kis 5

你可能正在寻找val()


Nad*_*adu 5

	// Define appendVal by extending JQuery
	$.fn.appendVal = function( TextToAppend ) {
		return $(this).val(
			$(this).val() + TextToAppend
		);
	};
//_____________________________________________

	// And that's how to use it:
	$('#SomeID')
		.appendVal( 'This text was just added' )
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<textarea 
          id    =  "SomeID"
          value =  "ValueText"
          type  =  "text"
>Current NodeText
</textarea>
  </form>
Run Code Online (Sandbox Code Playgroud)

好吧,在创建这个例子时,我不知何故有点困惑。" ValueText " vs > Current NodeText < 不.val()应该在value属性的数据上运行吗?不管怎样,我和你我迟早会解决这个问题。

然而,现在的重点是:

处理表单数据时使用.val()

在处理标签之间的大部分只读数据时,使用.text().append()来附加文本。

  • 谢谢你的关心——我喜欢这样。但是,是的,您是对的,没有太多新内容,本质保持不变。然而,当我消化当前的答案时,我觉得在风格和实现方面可以做一些事情。我首先检查了是否可以编辑某些帖子,但最后我认为最好制作一个新帖子。那么什么是新的: * 你可以运行剪下的。* 该扩展在编写自文档化代码方面有很大帮助,同时不会分散太多本质。 (2认同)