更新リンクをクリックしてAjaxリクエストから取得したデータに従ってドロップダウンから値を選択し、i console.logでデータを見ることができるレスポンスを取得しましたドロップダウンリストとの比較が成功し、一致するものがある場合はオプション値の1つが選択されます。ajaxリクエスト後にすべての選択されたオプションを削除します
クリーンボタンをクリックして選択したオプションをクリアすると、初めて動作します。
しかし、データを取得するために更新リンクを再度クリックすると、レスポンスがconsole.logのときにデータが取得されたことがわかりますが、ドロップダウンから何も選択されません。
すべてのヘルプ - ここに私のコードは、ループを使用して比較する必要はありませダウン
<p>
<a href="javascript:;" class="updateCenter">Update</a>
</p>
<form method="post" action="controller/update" class="formInuts">
<select required="" name="semester_id" class="form-control semester">
<option value="">Pleas Select</option>
<option value="1">Semester 1</option>
<option value="2">Semester 2</option>
<option value="3">Semester 3</option>
</select>
<button type="submit" class="btn btn-primary saveCorCnt">SAve</button>
<button type="" class="btn btn-primary clearCorCnt">Clean</button>
</form>
// Update
$('.updateCenter').on('click', function(event) {
event.preventDefault();
// semester id
var corcnt_id = 1;
$.ajax({
url: url+'/findcorcnt',
type: 'POST',
dataType: 'JSON',
data: {
corcntid: corcnt_id
},
beforeSend: function() {
},
success: function(respond) {
// Data retrieved successfully
// first time and every time i click on update link
// Changing the current action to update
var formInuts = $('.formInuts').attr('action',url+'/updatecorcnt');
// Change save btn to update
var saveBtn = $('.saveCorCnt').text('update');
// Selecting the values from dropdowns semesters
$('.semester option').each(function(){
if (parseInt(this.value) == respond.semester_id) {
$(this).attr('selected', true);
}
});
});
$('.clearCorCnt').on('click', function(event) {
event.preventDefault();
$(':input','.formInuts')
.removeAttr('checked')
.removeAttr('selected')
.not(':button, :submit, :reset, :hidden, :radio, :checkbox')
.val('');
var saveBtn = $('.saveCorCnt').text('save');
});
、 'checked'、' selected'などで作業するときに**プロパティを操作したく**ない属性、すなわち '.prop()' – adeneo