У меня есть пара div в HTML, и я хочу, чтобы id = plot_selector ждал, пока пользователь щелкнет правой кнопкой мыши, потому что, когда пользователь щелкает правой кнопкой мыши, я использую jquery для получения информации о строке, по которой пользователь щелкает правой кнопкой мыши и отправить его в контроллер, затем я вызову id = plot_selector для выполнения, потому что значение plot_list в этом идентификаторе изменится после щелчка правой кнопкой мыши пользователем.
Есть ли способ, которым я могу сделать это или попросить div выполнить снова, чтобы он имел обновленную переменную plot_list после щелчка правой кнопкой мыши?
Другими словами, я хочу, чтобы div всегда работал каждый раз, когда пользователь щелкает правой кнопкой мыши по разным строкам, а не запускается один раз в начале.
это мой jquery:
<script>
//Function to handle context menu appearing/disappearing
$(function() {
var contextMenu = $("#contextMenu");
var $rowClicked
//body on contextmenu is the event for right clicking
$(document.body).on("contextmenu", "table tr", function(e) {
var tableData = $(this).children("td").map(function(){
return $(this).text();
}).get();
ajax('{{=URL('ftds','view','view_custom_search')}}' + '?clickedFlight=' + tableData[0], []); //send this to controller and the div should execute after this .
contextMenu.css({
display: "block",
left: e.clientX,
//TODO: figure out why I have to hardcode this value to get the menu to appear in correct place
//...Y axis page value not correctly displaying on table
top: e.clientY - 80
});
return false;
});
$('html').click(function(e) {
contextMenu.hide();
});
});
$(document).ready(function() {
var plot_context_menu = $("#plot_context_menu");
var table_container = $("#table_container");
var plot_container = $("#plot_container");
//plot_container.hide();
$(plot_context_menu).click(function(e) {
$('#contextMenu').hide();
table_container.attr('class', 'col-md-6');
plot_container.show();
return false;
});
$('#plot_choice').change(function () {
$('#plot_choice option:selected').each(function(){ <!-- if new file in the drop down menu selected, hide class named plot_path, and display the selected id (each file in the menu is assoicated with ID) -->
var graph = $( this ).val()
$('.plot_path').hide();
$('#' + graph).show();
return false;
})
})
});
</script>
это div в представлении, которое я хочу выполнить после оператора ajax, чтобы переменная Plot_list получила новое значение после оператора ajax в jquery
<div class = 'col-md-4' id = 'plot_selector'>
<select name = 'plot_choice' class = 'form-control' id = 'plot_choice'>
{{for r in plot_list:}}
<option value = {{=plot_list.index(r)}}> {{=r}}
</option>
{{pass}}
</select>
<br>
</div>