我想根据用户输入命名两个输入字段,但这个名称应该是小写,而且单词之间的空格变为" - "。我这样做
$(function() {
$("#name").keyup(function() {
var name = $("#name").val();
var alias = name.charAt(0);
$("#alias").val(alias);
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input name="name" class="text-input medium-input" type="text" id="name" value="" />
<input name="alias" class="text-input medium-input" type="text" id="alias" />
&#13;
这给了我结果我写了&#34; arslan&#34;在第一个输入字段然后显示&#34; a&#34;在第二个输入栏
只显示一个字母
答案 0 :(得分:5)
我想根据用户输入命名,但此名称应为小写 单词之间的空格变为&#34; - &#34;。
使用replace
$("#alias").val( name.replace( /\s+/g, "-" ) );
您的功能应该是
$(function() {
$("#name").keyup(function() {
var name = $("#name").val();
$("#alias").val( name.toLowerCase().replace( /\s+/g, "-" ) );
});
});
答案 1 :(得分:1)
您应该将名称输入中的整个条目复制到别名,同时用&#39; - &#39;替换空格。把它变成小写。
$("#name").keyup(function() {
$("#alias").val($(this).val().replace(" ", "-").toLowerCase());
});
答案 2 :(得分:0)
简单解决方案
var name = $("#name").val().toLowerCase();
var alias = name.split(" ").join("-");
$("#alias").val(alias);
答案 3 :(得分:0)
这会对你有所帮助
$(function() {
$("#name").keyup(function() {
var name = $("#name").val().toLowerCase();
$("#alias").val(name.replace(/-/g,' '));
});
});
replace
将更改名称中包含空格
-