La fonction pluck() retourne un tableau associatif par exemple: $eleves->pluck('nom', 'premon','id')
va retourner un tableau dont le prenom comme cle et nom comme valeur, donc sans prendre en compte le champ id
C'est mieux d'utiliser select dans ce cas:
DB::table('eleves')
->where('class_id', request('class_id'))
->select('nom', 'prenom', 'id')
->get()
Et dans la vue:
$('#eleve').append('<option value="' + value.id + '">' + value.nom + ' ' + value.prenom + '</option>'
Une bonne reflexion: ouvrez la console du navigateur, recharger la page et regarder le retour de la requete ajax dans la tab réseau