我是JQuery的新手,所以这个问题可能很明显,但我有一些东西可以在输入框中添加一个文本:
$('a.blog_category').click(function(){
var current_value = $('#id_category').val();
$('#id_category').val(current_value + ', '+ this.text);
return false
})
我想添加一个听起来像这样的if子句:
“如果该行末尾已有逗号,请不要添加逗号。” “如果还没有逗号,并且它不是输入文本中的第一项,请添加逗号。”
我希望这是有道理的。
事先感谢你的帮助。
答案 0 :(得分:1)
不确定jQuery是否有一个帮助函数,但你可以使用以下的普通Javascript实现这一点:
if (current_value.charAt(current_value.length - 1) != ',') {
current_value = current_value + ',';
}
答案 1 :(得分:1)
这是一个更新的函数,我将如何使用正则表达式完成此任务。
$('a.blog_category').click(function(){
var current_value = $('#id_category').val();
if (!current_value.match(/,$/) && !current_value.match(/^,/)) {
// no commas were found in the wrong places :)
$('#id_category').val(current_value + ', '+ this.text);
return false;
} else {
// commas were found...don't put a comma :(
$("#id_category").val(current_value + ' ' + this.text)
});
答案 2 :(得分:1)
最简单的方法是编写逻辑来检查你提到的所有内容。选择器可能有一种更清洁的方式,但我不得不花更多的时间来考虑这一点。但做这样的事情应该有效:
$('a.blog_category').click(function(){
var current_value = $('#id_category').val();
if (current_value.charAt(current_value.length - 1) != "," && current_value.indexOf(",") > -1)
{
$('#id_category').val(current_value + ', '+ this.text);
}
else
{
$('#id_category').val(current_value + this.text);
}
return false
})
编辑:跳过上面。我认为你只是在寻找这样的东西,所以这可能会更好。真的不需要逻辑:
$('a.blog_category').click(function(){
var current_value = $('#id_category').val();
var parts = current_value.split(",");
parts.push(this.text);
if (parts[0] == "")
parts.splice(0,1);
$('#id_category').val(parts.join(","));
return false
})
答案 3 :(得分:0)
尝试:
$('a.blog_category').click(function(){
var current_value = $('#id_category').val();
stringArray = current_value.split(","); if(stringArray.length>= 1) {
//Split the string into an array and check the number of items in array
if (current_value.charAt(current_value.length)!=","){
//Check what the last character in the string is - apply comma if needed
$('#id_category').val(current_value
+ ', '+ this.text);
} } return false })