2017-08-06 62 views
1

HTML:无法获得选择期权的价值为jQuery的发布

<select id="s2_basic" class="form-control" id="userid" name="userid"> 
    <option value="" selected>-- Choose option --</option> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

的Javascript:

function submitForm() { 
    var userid = $('#userid').attr('selected', 'selected'); 

    $.ajax({ 
     type: "POST", 
     url: "submit.php", 
     data: "userid=" + userid, 
     success: function(text) { 
      if (text == "success") { 
       formSuccess(); 
      } else { 
       formError(); 
       submitMSG(false,text); 
      } 
     } 
    }); 
} 

提交PHP返回错误信息:

Value: ([object Object]) 

我也曾尝试

var userid = $('#userid').val(); 
var userid = $('#userid option').val(); 

不过,选项值永远不会正确传递。 我在做什么错?

我只想将value =“x”数字发布为userid = x。

+0

为什么你有两个ID中有你的选择? id =“s2_basic”和id =“userid”? – yoeunes

回答

2

从您的选择中删除id="s2_basic"

变化:

<select id="s2_basic" class="form-control" id="userid" name="userid"> 

<select class="form-control" id="userid" name="userid"> 
+0

谢谢。我无法相信我没有注意到这一点。 – Fid

+0

欢迎@Fid,希望它有所帮助 – yoeunes

0

$('#userid').on('change',function(){ 
 

 
console.log('value '+$('#userid option:selected').val()) 
 
console.log('text '+$('#userid option:selected').text()) 
 
console.log('index '+$('#userid option:selected').index()) 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<select class="form-control" id="userid" name="userid"> 
 
    <option value="" selected>-- Choose option --</option> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
    <option value="3">Three</option> 
 
</select>

试试这个