我希望该值成为我按下的类别。
<div class = 'category_Choose'>
<input type='text' name = 'category_id' value="???">
</div>
示例:如果我选择“动漫”类别,则我希望该字段值为“动漫”。
class Category(models.Model):
title = models.CharField(max_length=150)
category_post = models.ForeignKey('Post', on_delete=models.CASCADE)
body = models.TextField()
photo = models.ImageField(upload_to='static/images/', default = 'static/images/single_image.png')
url = models.CharField(max_length=150)
def __str__(self):
return self.title
我该怎么做?
答案 0 :(得分:0)
$(".posts").click(function(){
var cat_name = $(this).data('category');
$('input[name="category_id"]').val(cat_name)
alert($('input[name="category_id"]').val())
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="category_id" value="">
<a class="posts" data-category="cat_1">Post 1</a>
<a class="posts" data-category="cat_2">Post 2</a>
<a class="posts" data-category="cat_3">Post 3</a>
<a class="posts" data-category="cat_4">Post 4</a>
答案 1 :(得分:0)
您可以尝试使用Jquery来解决此问题。您可以在模板中呈现所有类别,然后使用jquery的hide和show方法。
假设您的html看起来像这样,
<div id='categories'>
<div id= 'category_id_1'>
<p>category name 1</p>
.
.
.
</div>
<div id= 'category_id_2'>
<p>category name 2</p>
.
.
.
</div>
.
.
.
.
</div>
您要隐藏和显示的Jquery代码看起来像这样,
document.ready(function(){
var input = $('input');
input.click(function(){
/* Get the selected category_id */
category_id = option.attr('name');
$('#categories').find('.category').each(function(i){
/* Show the category with the selected category id*/
if ( $(this).attr('category_id') === category_id ){
$(this).show()
}
else{
$(this).hide()
}
});
});
});