Как может я ssh непосредственно к конкретному каталогу?

РЕШЕНИЕ

В вашем коде есть много проблем:

  1. Столбцы смещены, потому что таблица инициализируется при скрытии. Вам нужно скорректировать ширину столбцов, используя columns.adjust () , как только необходимая вкладка и таблица станут видны:
    $('a[data-toggle="tab"]').on('shown.bs.tab', function(e){
       $($.fn.dataTable.tables(true)).DataTable()
          .columns.adjust();
    });
    
  2. Вы пытаетесь скрыть столбец «ID» неправильно, кроме того скрытая колонка, вызывающая некоторые проблемы при уничтожении таблицы.
  3. Таблица должна быть очищена и уничтожена с помощью $(selector).DataTable().clear().destroy().
  4. Вы добавляете другие обработчики событий внутри другого обработчика событий $('#PacingModal').on('shown.bs.modal', function(){});, что приводит к ненужному несколько вызовов для других обработчиков событий.

Были упомянуты другие незначительные проблемы.

См. пример ниже для исправленного кода.

function format(notes) {
  var object = notes.data;
  var out = '';
  out += '';
  out += '';
  for (var i in object) {

    out += ''
  }

  out += '
Answer# of AnswersPercent
' + object[i].Answer + '' + object[i].NumberOfAnswers + '' + object[i].Percent + '
'; return out; } $(document).ready(function() { // AJAX emulation for demonstration only $.mockjax({ url: '/rmsicorp/clientsite/pacingModal/surveyajax2.php', responseTime: 200, responseText: { "data": [{ "Answer": 1, "NumberOfAnswers": 2, "Percent": 3 }, { "Answer": 1, "NumberOfAnswers": 2, "Percent": 3 }, { "Answer": 1, "NumberOfAnswers": 2, "Percent": 3 }] } }); // AJAX emulation for demonstration only $.mockjax({ url: '/rmsicorp/clientsite/pacingModal/surveyajax.php', responseTime: 200, responseText: { "data": [{ "ID": 1, "Question": "Question" }, { "ID": 2, "Question": "Question" }, { "ID": 3, "Question": "Question" }] } }); // AJAX emulation for demonstration only $.mockjax({ url: '/rmsicorp/ClientSite/Reset/CategoryStatus/Detail/CatStatusDetailData.php', responseTime: 200, responseText: '

No data

' }); $('#btn-show').on('click', function() { var box = $('#PacingModal').modal(); }); $('#PacingModal').on('shown.bs.modal', function(e) { var cat = $("#PacingModal").attr('category'); var status = $("#PacingModal").attr('status'); var taskid = $("#PacingModal").attr('taskid'); //Fill the category Details table $.ajax({ type: "POST", cache: false, dataType: 'text', url: '/rmsicorp/ClientSite/Reset/CategoryStatus/Detail/CatStatusDetailData.php', data: { category: cat, statustype: status, taskid: taskid }, beforeSend: function() { $('#Loading').show(); $('#SelectContainer2').empty(); }, success: function(data) { $("#cat2").html(data); $('#Loading').hide(); }, complete: function(data) { var table = $("#cat2").find("#tabl").DataTable({ "scrollY": "400px", "scrollCollapse": true, "paging": false, "bAutoWidth": false, "jQueryUI": true, "order": [ [5, "asc"] ], "TableTools": { "sSwfPath": "/swf/copy_csv_xls_pdf.swf", "aButtons": [{ "sExtends": "xls", "sButtonText": "Excel HEY!", "sFileName": "*.xls" }, ] } }); }, error: function() { //TODO - Add auto email for error alert("Error retriving the data from the server! Please check back soon."); //Close modal if error $("#PacingModal").modal('hide'); } }); var TaskID = $('#PacingModal').attr('taskid'); //var QuestionID = table2.cell('.shown', 0).data(); var table2 = $('#car').DataTable({ destroy: true, "ajax": { "url": "/rmsicorp/clientsite/pacingModal/surveyajax.php", "type": "get" }, "scrollY": "400px", "scrollCollapse": true, "paging": false, "bAutoWidth": true, "columns": [{ "className": 'details-control', "orderable": false, "data": null, "defaultContent": '' }, { "data": "Question" }] }); var detailsrows = []; $('#car tbody').on('click', 'td.details-control', function() { var TaskID = $('#PacingModal').attr('taskid'); var tr = $(this).closest('tr'); var row = table2.row(tr); var cell = row.data(); var RowID = cell.ID; var RID = $.inArray(tr.attr('id'), detailsrows); $.ajax({ type: 'post', url: '/rmsicorp/clientsite/pacingModal/surveyajax2.php', data: { TaskID: TaskID, QuestionID: RowID }, dataType: 'json', success: function(result) { if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); detailsrows.splice(RID, 1); } else { // console.log(result); row.child(format(result)).show(); tr.addClass('shown'); if (RID === -1) { detailsrows.push(tr.attr('id')); } } } }); }); }); $("#PacingModal").on('hidden.bs.modal', function() { //empty html content out of div so the user does not see the last search before the new one loads when they click on a different option $('#cat2').empty(); $('#SliderContainer2').empty(); $('#car').DataTable().clear().destroy(); }); $('#ModalTabs a[data-toggle="tab"]').on('shown.bs.tab', function(e) { if ($(e.target).attr('href') === '#PacingModalSurvey') { $('#car').DataTable().columns.adjust(); } }); });




  

  
  
  
  
  
  




  

ССЫЛКИ

См. jQuery DataTables - Проблемы с шириной столбца с вкладками Bootstrap для решения наиболее распространенных проблемы с jQuery DataTables и вкладками Bootstrap.

218
задан Ólafur Waage 9 March 2009 в 14:52
поделиться

4 ответа

Можно сделать следующее:

ssh -t xxx.xxx.xxx.xxx "cd /directory_wanted ; bash"

Таким образом, Вы разберетесь в оболочке на directory_wanted.

<час>

Объяснение

-t выделение псевдотерминала Силы. Это может использоваться для выполнения произвольных основанных на экране программ на удаленной машине, которая может быть очень полезной, например, при реализации сервисов меню.

опции Multiple -t вызывают tty выделение, даже если ssh не имеет никакого локального tty.

  • , Если Вы не используете -t тогда, никакая подсказка не появится.
  • , Если Вы не добавляете ; bash тогда, соединение будет закрыто и возвратит управление Вашей локальной машине
380
ответ дан Matthieu 4 November 2019 в 13:45
поделиться

Сам SSH обеспечивает средство сообщения, он ничего не знает о каталогах. Так как можно определить, какую удаленную команду выполниться (это - по умолчанию - оболочка), я запустил бы там.

-1
ответ дан Samsquanch 4 November 2019 в 13:45
поделиться

Вы могли добавить

cd /some/directory/somewhere/named/Foo

к Вашему .bashrc файл (или .profile или независимо от того, что Вы называете его) в другом хосте. Тот путь, независимо от того, что Вы делаете или где Вы ssh от, каждый раз, когда Вы входите в систему, что сервер, он будет cd к надлежащему каталогу для Вас и всего, которое необходимо сделать, использовать ssh как нормальный.

Из проклятия, решение rogeriopvl работает также, но это - немного более подробного бита, и необходимо не забыть делать это каждый раз (если Вы не делаете псевдоним), таким образом, это кажется немного меньшим количеством "забавы".

49
ответ дан Chris Lutz 4 November 2019 в 13:45
поделиться

Я использую переменную среды CDPATH

3
ответ дан Eddy 4 November 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: