Надеюсь, ты поможешь мне с небольшой проблемой. Я никуда не денусь.
Если запись сделана в поле 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>
EDIT: только для уточнения это решение работает в любой ситуации, когда содержимое изменяется.
Согласно jQuery Docs:
.change()
Для флажков выбора, флажков и переключателей событие немедленно запускается, когда пользователь делает выбор с помощью мыши, но для других типов элементов событие откладывается до тех пор, пока элемент не теряет фокус.
CTRL-V
переменные
Как настроить Windows 10
Я думаю, вы пытаетесь сделать свой URL-адрес example.com/how-to-setup-windows-10
.
Код
Попробуйте этот код, я думаю, он будет работать.
var space_url = $("#post_title").val().replace(" ", "-");
$("#post_url").val(space_url.toLowerCase());
.toLowerCase()