Самый простой способ - просто написать логику, чтобы проверить все, что вы упомянули.Может быть, с селекторами будет чище, но мне придется больше думать об этом.Но выполнение чего-то подобного должно работать:
$('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
})