jquery表单插件发送/获取禁用选择值

时间:2014-02-14 15:52:15

标签: javascript php jquery html

我使用Jquery_Form插件,我想得到禁用选择框的值。

HTML表单:

<form id="myform" method="post">
 <select name="myselect" id="myselect">
  <option value="1">Option1</option>
  <option value="2">Option2</option>
  <option value="3">Option3</option>
 </select>
 <input type="submit" value="send">
</form>

Javascript:

<script>
$('#myselect').val('2').attr('disabled', true);

$(document).ready(function() { 
    var options = { 
        target:        '#response',
    }; 

    $('#myform').ajaxForm(options); 
}); 
</script>

PHP:

if (isset($_POST['myselect']))
 echo $_POST['myselect'];
else
 echo "Oups nothing :(";

我总是“让Oups一无所获”

4 个答案:

答案 0 :(得分:1)

不传输禁用的输入/选择框的值。如何禁用所有未选择的值呢?

$('#myselect option:not(:selected)').prop('disabled', true);

答案 1 :(得分:0)

是方法而非方法(参见表格)soo不是$ _POST是Anything

<form id="myform" methode="post"> //NO
<form id="myform" method="post"> //YES

答案 2 :(得分:0)

最后我认为我必须输入一个包含值的隐藏输入。

示例:

<select name="myselect" id="myselect" disabled>
  <option value="1">Option1</option>
  <option value="2">Option2</option>
  <option value="3">Option3</option>
 </select>

<input type="hidden" name="myselect" value="2">

或者在发送之前删除“已禁用”:

 $('form').bind('submit', function() {
        $(this).find(':disabled').removeAttr('disabled');
    });

答案 3 :(得分:0)

如果您想从特定的selectList项中获取值,可以尝试使用:

$('#myselect option:contains(1)').val();

干杯。