Задать вопрос
Hy_ok
@Hy_ok

Почему после перезаписи в таблицу, не выбирается нужный option в select?

В общем такая проблема, есть страница на ней реализована сортировка, данные все получаем все нормально это работает) есть кнопка отправки на печать, вот если мы не сортируем данные, тоесть до сортировки , при отправки этих данных на печать все нормально отправляеться, тоесть нужный option из select, но когда мы отсортировали данные, на странице все нормально нужный option выбран, но отправляем весь текст из таблицы и получаем первый option а не тот который нужно.
jQuery("#sort-application").click(function(){
    date = jQuery('input[name=date]').val();
    if(date == null){date = "";}
    type_app = jQuery('select[name="type_app"]').val();
    type_job = jQuery('select[name="type_job"]').val();
    status = jQuery('select[name="status"]').val();
    if(jQuery('input[name="not-type-app"]').prop("checked")){not_type_app = 1;}else{not_type_app = "";}
    if(jQuery('input[name="not-type-job"]').prop("checked")){not_type_job = 1;}else{not_type_job = "";}
    if(jQuery('input[name="not-status"]').prop("checked")){not_status = 1;}else{not_status = "";}
    //alert(date);
    //console.log(date,type_app,type_job,status);
    jQuery.ajax({
        type: 'POST',
        url: "/ajax-sort/",
        data: {
            "date" : date,
            "type_app" : type_app,
            "type_job" : type_job,
            "status" : status,
            "not_type_app" : not_type_app,
            "not_type_job" : not_type_job,
            "not_status" : not_status
        },
        success: function(data){
            jQuery("#data-app").empty();
            jQuery("#data-app").append("<tr>"
                +"<th>Номер заявки</th>"
                +"<th>Адрес и заявитель</th>"
                +"<th>Тип заявки</th>"
                +"<th>Вид работы</th>"
                +"<th>Исполнители</th>"
                +"<th>Описание</th>"
                +"<th>Дата заявки</th>"
		        +"<th>Статус</th>"
		        +"<th></th>"
            +"</tr>");
            jQuery.each(data, function(){
                
                jQuery("tbody#data-app").append("<tr>"
                +'<td data-label="Номер заявки">'+this.id+'</td>'
                +'<td data-label="Адрес и заявитель">'+this.name_street+' д.'+this.home+' кв.'+this.apartament+'<br>'+this.name_sobs+'<br> тел:'+this.phone+'  <br> e-mail:'+this.email+' </td>'
                +'<td data-label="Тип заявки">'+this.type_application+'</td>'
                +'<td data-label="Вид работы">'+this.type_of_work+'</td>'
                +'<td data-label="Исполнители">'+this.user1+'<br>'+this.user2+'</td>'
                +'<td data-label="Описание и заметка">'+this.description+'<br>Заметки:'+this.note+'</td>'
                +'<td data-label="Дата заявки">'+this.date+'</td>'
                +'<td data-label="Статус">'
                    +'<select name="status-app" id="'+this.id+'">'
                        +'<option value="1" >Новая</option>'
                        +'<option value="2" >В работе</option>'
                        +'<option value="3" >Выполнена</option>'
                        +'<option value="4" >Отменена</option>'
                    +'</select>'
                    +'<p id="message-'+this.id+'" class="msg-st"></p>'
                +'</td>'
                +'<td data-label="Редактирование">'
                    +'<a id="add-applic" href="#add-application" data-id="'+this.id+'" onclick="editApplication(this)" class="button edit-app" title="Редактировать">'
                        +'<i class="fa fa-pencil-square-o"></i>'
                    +'</a>'
                +'</td>'
                +"</tr>");
                $('#'+this.id+' option[value='+this.status+']').prop('selected',true);
            });
        },
    });
});

//Функция JS для создания страницы печати
function atoprint(aId) {
    
    
    var atext = jQuery('#'+aId).html();//document.getElementById(aId).innerHTML;
    var captext = window.document.title;
    var alink = window.document.location;
    var prwin = open('');
    prwin.document.open();
    prwin.document.writeln('<html><head><title>Версия для печати<\/title><link rel="stylesheet" href="/assets/css/print.css" /><\/head><body text="#000000" bgcolor="#FFFFFF"><div onselectstart="return false;" oncopy="return false;">');
    prwin.document.writeln('<div style="margin-bottom:5px;"><a href="javascript://" onclick="window.print();">Печать<\/a> • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div><hr>');
    prwin.document.writeln('<h1><\/h1>');
    prwin.document.writeln('<table><tbody>'+atext+'</tbody></table>');
    prwin.document.writeln('<div style="margin-top:5px;"><a href="javascript://" onclick="window.print();">Печать<\/a> • <a href="javascript://" onclick="window.close();">Закрыть окно<\/a><\/div>');
    prwin.document.writeln('<\/div><\/body><\/html>');
  }
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Hy_ok
@Hy_ok Автор вопроса
Сам решил проблему, вместо этого
$('#'+this.id+' option[value='+this.status+']').prop('selected',true);

надо было это
$('#'+this.id+' option[value='+this.status+']').attr('selected',true);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект
18 дек. 2024, в 16:42
2000 руб./за проект