私はjqueryをほとんど知らないので、あまり意味がない場合は失礼します。
php dbクエリから行が入力されるというテーブルがあります(行数は異なります)。この場合、2行のデータがあります。これは、phpで生成されたhtmlテーブルの一部です。
<table border=1 width=800px id=workout>
<tr>
<th width=300px id=clients>Client</th>
<th width=200px id=movements>Movements</th>
<th>X Completed</th>
</tr>
<tr>
<td><input type="hidden" name="client_id[]" class="clientval" value="1"></td>
<td>
<select name="movement[]" width=200 class='typeval' onchange='changeMovement()'>
<option value="select">Select...</option>
<option>Key Movement</option>
<option>Movement -1</option>
<option selected="selected" >Movement -2</option>
<option>Movement -3</option>
<option>Movement -4</option>
</select>
</td>
<td><label id="count"></label></td>
</tr>
<tr>
<td><input type="hidden" name="client_id[]" class="clientval" value="8">
<td>
<select name="movement[]" width=200 class='typeval' onchange='changeMovement()'>
<option value="select">Select...</option>
<option>Key Movement</option>
<option>Movement -1</option>
<option selected="selected" >Movement -2</option>
<option>Movement -3</option>
<option>Movement -4</option>
</select>
</td>
<td><label id="count"></label></td>
</tr>
movement
との値をjqueryclient_id
に渡してPOST
、データに対してphpクエリを実行して結果を返すことができるようにします。選択メニューが含まれている行に基づいて、選択した移動とclient_idの値を渡すにはどうすればよいですか。
例:ユーザーが2行目の移動ドロップダウンメニューを変更した場合、client_id
とselected>Movement<
をjQuery関数に送信します。今は私のテーブルの最初の行を取得しているだけで、それだけです。
これが私の編集したjQueryです:
編集:
<script type="text/javascript">
var typeval,clientval, class_id;
$('.typeval').on('change', function(){
movement = $(".typeval option:selected").val();
client_id = $(this).parents('tr').find('input.clientval').val();
class_id = $(<? echo $class_id; ?>).val();
//console.log($(this).parents('tr').find('input.clientval').val(), $(this).val());
$.ajax(
{ url: "movement_count.php",
type: "post",
data: {typeval:typeval, client_id: clientval, class_id :},
dataType: "json",
});
success: (function(output) {
alert(output);
$(".count").html(output);
})
});
</script>