【问题标题】:radio is only passing the first value [duplicate]收音机只传递第一个值[重复]
【发布时间】:2012-05-06 15:21:15
【问题描述】:

可能重复:
How can I get which radio is selected via jQuery?

我试图在我的网站上放置一个用户评分系统,但只有第一个值被传递,所以在表格中,评分列始终是一个。我已经有一段时间没有使用收音机了。

这就是我所拥有的。

    <form id="add-rateing">
<input type="radio" name="MOVIE_RATING" value="1" > 1
<input type="radio" name="MOVIE_RATING" value="2" > 2
<input type="radio" name="MOVIE_RATING" value="3" checked="yes"> 3
<input type="radio" name="MOVIE_RATING" value="4" > 4 
<input type="radio" name="MOVIE_RATING" value="5" > 5 <br>
<input type="hidden" name="MOVIE_ID" value="<?php echo $id; ?>">
<input type="hidden" name="MOVIE_TITLE" value="<?php echo $title; ?>">
<input type="hidden" name="USER_ID" value="<?php echo $loggedinusername; ?>">
<input type="submit" value="I Drank To The Credits" onclick="$('#add-rateing').hide('fast')">
</form>
<script type="text/javascript">
$("#add-rateing").submit(function(event){
event.preventDefault()

addrateing();

 });

function addrateing()
{
var movie_rating_s   = $("#add-rateing [name='MOVIE_RATING']").val();
var movie_id_s    = $("#add-rateing [name='MOVIE_ID']").val();
var movie_title_s   = $("#add-rateing [name='MOVIE_TITLE']").val();
var user_id_s   = $("#add-rateing [name='USER_ID']").val();
var errors  = '';

$.ajax({
type    : "POST",
url     : "movie_watched.php",
data    : { rating: movie_rating_s,
            movie  : movie_id_s,
        title: movie_title_s,
            user : user_id_s, },

cache   : false, timeout: 10000,

success  : function() {
    alert("You have played <?php echo $title; ?> ");

},
error    : function() {
    alert("there is a problom");
},
complete : function() {
}

});
};
</script>

【问题讨论】:

  • var movie_rating_s = $("#add-rateing [name='MOVIE_RATING'][checked='yes'").val();
  • 考虑使用jquery form plugin。它负责正确序列化您的表单。
  • 您应该考虑正确拼写“评分”。正确拼写为“评级”。
  • 感谢您的帮助,我会看看表单插件。至于我一直很难理解的拼写。

标签: php jquery mysql


【解决方案1】:

试试这个:

var movie_rating_s   = $("#add-rateing [name='MOVIE_RATING']").val();

进入这个:

var movie_rating_s   = $("#add-rateing [name='MOVIE_RATING']:checked").val();

【讨论】:

    【解决方案2】:

    您需要选择选中的单选元素,如下所示:

    $('input[name="MOVIE_RATING"]:checked').val();
    

    【讨论】:

      【解决方案3】:

      看起来问题出在您的 jQuery 选择器上。它没有指定获取“选中”单选按钮的值。在加载你的 movie_rating_s 变量时试试这个:

      var movie_rating_s = $("#add-rateing [name='MOVIE_RATING']:checked").val()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 2012-07-26
        • 1970-01-01
        • 2020-03-16
        • 2020-11-24
        • 2012-05-02
        相关资源
        最近更新 更多