我希望你能帮我解决一个小问题。我哪儿也去不了。
如果在字段post_title中输入,则应将字符自动复制到字段post_uri中。这行得通。
现在所有字母都应该自动小写,空格应该用 - 字符替换。
我必须做什么?
$(function() {
var $post_title = $('#post_title');
var $post_uri = $('#post_uri');
function onChange() {
$post_uri.val($post_title.val());
};
$('#post_title')
.change(onChange)
.keyup(onChange);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<form>
<input type="text" name="post_title" id="post_title">
<input type="text" name="post_uri" id="post_uri">
</form>
你几乎明白了。您只需要在字符串上添加toLowerCase
和replace
函数调用。
$(function() {
var $post_title = $('#post_title');
var $post_uri = $('#post_uri');
function onChange() {
var val = $post_title.val().toLowerCase().replace(/s/g, "-");
$post_uri.val(val);
};
$('#post_title')
.change(onChange)
.keyup(onChange);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<form>
<input type="text" name="post_title" id="post_title">
<input type="text" name="post_uri" id="post_uri">
</form>
编辑:只是为了澄清,此解决方案确实适用于修改内容的任何情况。
根据jQuery的文档:
对于选择
.change()
框、复选框和单选按钮,当用户使用鼠标进行选择时,将立即触发事件,但对于其他元素类型,事件将延迟到元素失去焦点。
变量
假设这是您的帖子标题
如何设置视窗 10
我认为您正在尝试使您的网址像example.com/how-to-setup-windows-10
.
法典
试试这段代码,我认为它会起作用。
var space_url = $("#post_title").val().replace(" ", "-");
$("#post_url").val(space_url.toLowerCase());