如何在AJAX中获取选择表单的值?

时间:2013-05-05 13:06:22

标签: javascript jquery ajax

这是我的第一周PHP(所以没有欺凌)。我正在尝试获取选择表单的值并插入到我的数据库中。插入是好的,但我似乎无法传递价值。

脚本:

<script type="text/javascript">
     //add to top 10
    function addTop10()
    {
    var show_id = $('#show_id').val();  
    var user_id = $('#user_id').val();
    var rank = $('select.rank').val();
        //Storing the value of textbox into a variable
    if(show_id == '')        //Checking for NULL
    {
    $('#propspectDiv').html('Enter A Valid Name');    //Prints the progress text into our Progress DIV
    $('#show_id').addClass('error');                    //Adding the error class to the progress DIV
    return;
    }
    else{
    $('#show_id').removeClass('error');
    $('#propspectDiv').removeClass('error'); //Removing the error class from the progress DIV
    $('#propspectDiv').html('Submitting your Request.<img src="ajax.gif" />');//Prints the progress text into our Progress DIV

    $.ajax({
    url : 'top10ajax.php', //Declaration of file, in which we will send the data
    data:{
    "show_id" : show_id,  
    "user_id" : user_id,
    "rank" : rank          //we are passing the name value in URL
    },
    success : function(data){
    window.setTimeout(function(){
    $('#propspectDiv').html('Added'); //Prints the progress text into our Progress DIV
    }, 2000);
    }
    });
    }
    }

    </script>

和html

<div class="row">
        <div class="twelve columns">
<h4>Add to your top 10 </h4>
<div class="two columns">
    <form>
<select name="rank">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
   <option value="7">7</option>
   <option value="8">8</option>
  <option value="9">9</option>
   <option value="10">10</option>

</select>
</div>
<div class="four columns">
         <button class="large button" id="rank" type="button" value="Add to Top 10" onclick="addTop10()"></form>
</div>

除了格式错误之外,我做错了什么?

2 个答案:

答案 0 :(得分:2)

select.rank将选择select类的rank类型的元素。

<select name="rank">不是任何课程的成员。它没有类属性。

您需要更改选择器以使其与元素匹配,反之亦然。

答案 1 :(得分:1)

您试图以错误的方式获取选择框的值尝试此操作

var rank = $("select['name=rank']").val();