如何在JQuery 1.10.2 Ajax变量中获取隐藏的输入值?

时间:2019-04-13 14:51:18

标签: javascript jquery ajax laravel

当用户在隐藏的输入类型中选择星级设置值时,我将使用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>

空值显示为空

1 个答案:

答案 0 :(得分:0)

您的元素查询选择器似乎正确,但是我认为您的javascript数据对象不正确。您在对象中使用刀片语法,因此很可能应在其两边加上引号。具体来说,我在谈论这两行:

user_id: "{{Auth::user()->id}}",
product_id: "{{$product->id}}"

我相信您是在刀片视图中而不是在.js文件中使用它的。