当用户在隐藏的输入类型中选择星级设置值时,我将使用JavaScript创建评分系统。现在我想在我的ajax代码中获取该值并将其发布到数据库。
我正在尝试通过这种方式获得输入的价值
$(document).ready(function(){
$('#ajaxSubmit').click(function(e){
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/review",
type: 'POST',
data: {
description: $('textarea[name=description]').val(),
star: $('input:hidden[name=score]').val(),
user_id: {{Auth::user()->id}},
product_id: {{$product->id}}
},
dataType: "JSON",
success: function(result){
console.log(result);
}
});
});
});
代码显示的实际文件中
<div class="star big" id="rating" data-score="0"></div>
选择代码显示在资源中的星号
<div class="star big" id="rating" data-score="0" style="cursor: pointer; width: 80px;"><img src="assets/images/star-big-on.png" alt="1" title="bad">
<img src="assets/images/star-big-on.png" alt="2" title="poor">
<img src="assets/images/star-big-on.png" alt="3" title="regular">
<img src="assets/images/star-big-on.png" alt="4" title="good">
<img src="assets/images/star-big-on.png" alt="5" title="gorgeous">
<input id="star" type="hidden" name="score" value="5"></div>
空值显示为空
答案 0 :(得分:0)
您的元素查询选择器似乎正确,但是我认为您的javascript数据对象不正确。您在对象中使用刀片语法,因此很可能应在其两边加上引号。具体来说,我在谈论这两行:
user_id: "{{Auth::user()->id}}",
product_id: "{{$product->id}}"
我相信您是在刀片视图中而不是在.js
文件中使用它的。