0

ajax フォームを送信するときに、送信されたオプションを無効にしたいと思います。

<form action="#" id="export">
  <select multiple="multiple" size="5">
    <option id="val-1" value="1">Spain</option>
    <option id="val-2" value="2" disabled="disabled">France</option>
    <option id="val-3" value="3">England</option>
  </select>
  <input type="submit" value="add" />
</form>

私のアヤックス

$('#export').on('submit', function(e){
            // alert( ($this).serialize() );
            $.post('save_zone.php', $(this).serialize(), function(data) {
                $('.pays_added_export').append(data);
            });
            e.preventDefault();
        });

何か案は ?serialize() とオプションの data-something で何かを考えました...

よろしく

4

1 に答える 1

0

選択するためのIDが必要です

<select multiple="multiple" size="5" id="select_option">
    <option id="val-1" value="1">Spain</option>
    <option id="val-2" value="2" disabled="disabled">France</option>
    <option id="val-3" value="3">England</option>
</select>

そしてそれを使用します

var a_disable = [];    
$('option:disabled', '#select_option').each(function (i, option) {                     
     a_disable[i] = $(this).val();                    
});                    

$.post('save_zone.php', $(this).serialize()+'&disables='+a_disable.join(','), function(data) {
    $('.pays_added_export').append(data);
});
于 2012-10-18T21:44:17.947 に答える