我正在尝试构建一个使用regexp替换字符的小插件。如果我在文本框中删除了多个字符并且模糊,它只会删除该字符。它没有“镜像”文本框中的值,并且看起来具有当前值。
(function ($) {
$.fn.friendlyUrl = function (destinationID) {
return this.blur(function () {
var title = $(this).val();
var url = title
.replace(/[åä]/g, "a")
.replace(/[ÅÄ]/g, "A")
.replace(/ö/g, "o")
.replace(/Ö/g, "O")
.replace(/[^a-zA-Z0-9]/g, "-")
.replace(/^-+/, "")
.replace(/-+$/, "")
.replace(/-+/g, "-")
.toLowerCase();
$(destinationID).val(url);
});
};
})(jQuery);
我用它来称呼它:
$("#PageName").friendlyUrl("#Url");
这里可能有什么问题?
答案 0 :(得分:1)
我没有看到url
在任何地方使用过,所以在我看来你正试图这样做
$(destinationID).val(url);
答案 1 :(得分:1)
我做了一些修改。
假设这是输入url的输入:
<input type="text" id="PageName"/>
插件代码:
(function ($) {
$.fn.friendlyUrl = function () {
return this.blur(function () {
var title = $(this).val();
var url = title
.replace(/[åä]/g, "a")
.replace(/[ÅÄ]/g, "A")
.replace(/ö/g, "o")
.replace(/Ö/g, "O")
.replace(/[^a-zA-Z0-9]/g, "-")
.replace(/^-+/g, "")
.replace(/-+$/g, "")
.replace(/-+/g, "-")
.toLowerCase();
$(this).val(url);
});
};
})(jQuery);
和电话:
$(document).ready(function(){
$("#PageName").friendlyUrl();
});
你真的不需要在这里传递id