0

1 から 31 までの数字を含む select タグを持つフォームがあります。私がやろうとしているのは、ユーザーが変更した場合に select タグの値でデータベースを更新することです (デフォルト値はデータベースの値です$drop_d) 。ページをまったくリロードする必要はありません。次のコードは機能していないようです。データを ajax に送信する方法に問題があると思います。

この変数には、デフォルト値が含まれています。

  $drop_d =  $e_r[drop_d];  

フォーム:

<form> Number of days:  <select name="dropD" id="dropID"> <?php for($i=1; $i<=31; $i++){  ?> <option value="<?php echo $i;?>" <?php if($i==$drop_d){ ?> selected="selected" <?php } ?> > <?php echo $i;  } ?> </select> </form> <br />

アヤックス:

<script>
$('#dropID').change(function(){
   alert(1);
    var url = document.URL;
    var blah = $('#dropID').val()
    alert(blah);
    alert(url);
    $.ajax({
        type: 'POST',
        url: url,
        data: {newFieldValue: blah},
        dataType: 'html'
    }).done( function(){
            alert(1);
            blah.hide();
        });
});
</script>

データベースの更新:

<?php
        $newFieldValue = $_POST['newFieldValue'];
        $updateD = 'UPDATE en SET drop_d = $newFieldValue WHERE name=$name;
        mysql_query($updateD);

             ?>
4

2 に答える 2

1
$('select#dropID').on('change' , function(){
    var url = document.URL;
    var blah =  $('select#dropID').val();
    $.ajax({
        type: 'POST',
        url: url,
        data: {newFieldValue:blah},
        dataType: 'html'
    });
});
于 2013-10-28T20:35:20.647 に答える
0

id value を定義したid="dropIDので、jQuery は次のようになります。

$('#dropID').val()
于 2013-10-28T20:26:22.970 に答える