使用jquery更改输入类型编号值

时间:2014-08-13 13:05:01

标签: php jquery

所有其他属性更改似乎在模态中正常工作。模态内的评级按钮不会在加载时加载其值。但检查元素似乎显示适当的评级值。 我是php和jquery的新手。请原谅我在上述代码中实现的愚蠢的编程方法。 任何帮助将深表感谢。

HTML:

<div class="item" style="width: 400px; height: 230px">
  <!-- Link trigger modal -->
  <a data-img-url="upload/&lt;?php echo $row['image_name'] ?&gt;" data-toggle=
  "modal" href="#myModal" id="<?php echo $row['image_id'] ?>" onclick=
  "modalload(this.id, '&lt;?php echo $row['image_title'] ?&gt;' , '&lt;?php echo $row['image_description'] ?&gt;', &lt;?php echo $TAVG ?&gt; );"><img class="img-responsive carousal_scale"
  src="upload/%3C?php%20echo%20$row['image_name']%20?%3E"></a>

  <div class="carousel-caption">
    <p><?php echo $row['image_title'] ?></p>
  </div>
</div><!-- Modal -->

<div class="modal fade modal-dialog modal-content" id="myModal" tabindex="-1">
  <div class="modal-header">
    <button class="close" data-dismiss="modal" type=
    "button"><span>&times;</span><span class="sr-only">Close</span></button>

    <h2 class="modal-title" id="myModalLabel"></h2>
  </div>

  <div class="modal-body well">
    <img class="img-responsive carousal_scale" src=""> <input class="rating"
    data-size="xs" id="" max="5" min="0" onchange="test(this.id, this.value);"
    step="0.1" style="alignment-adjust: auto;" type="number" value="">
  </div>

  <div>
    <p style="text-align: center; font-size: 15px;"></p>
  </div>

  <div class="modal-footer">
    <button class="btn btn-default" data-dismiss="modal" type=
    "button">Close</button>
  </div>
</div>

JS:

 $(document).ready(function() {
   $(".rating-kv").rating();
 });

 function modalload(id, title, description, avg) {
   alert(avg);
   //    alert(description);     
   $('#myModal img').attr('src', $('#' + id).attr('data-img-url'));
   $('#myModal input').attr('value', avg);
   $('#myModal input').attr('id', id);
   $('#myModal h2').text(title);
   $('#myModal p').text(description);
 }

 function test(id, val) {
   var pic_id = id;
   var pic_val = val;
   $.ajax({
     type: 'POST',
     url: 'rating.php',
     data: {
       'pic_id': pic_id,
       'pic_val': pic_val
     },
   }).done(function(data) {
     //  alert(data);      
   });
 }

1 个答案:

答案 0 :(得分:0)

“模态中的评级按钮不会在加载时加载其值。”您目前仅在点击modalload()代码时激活a功能,因此您的评分不会在加载时填充其值/ ID,而是点击。

请在modalload()函数

中尝试此操作
$('.rating').attr('value', avg);
$('.rating').attr('id', id);

另外,请注意,没有jQuery rating()函数,并且您的HTML中没有类rating-kv的元素,因此以下代码将不执行任何操作。

$(".rating-kv").rating();

换句话说,你有很多错误的编码实践和不完整的代码。您应该考虑修改您拥有的内容并重新发布。