Мое требование - когда я нажимаю на любую строку в расширенной сетке, значение в раскрывающемся меню должно меняться, например, когда я нажимаю на строку1, . 1-й вариант в раскрывающемся списке должен быть показано, когда я нажимаю на строку2, второй вариант должен отображаться в раскрывающемся списке, как только пользователь нажимает на строку2, аналогично для других строк ... Найди скрипку http://jsfiddle.net/x9kLbqz5/4/.Событие rowclick для изменения значения выпадающего списка в сетке dojo
я могу иметь возможность получить информацию о строках, когда-либо пользователь нажимает на любом из row.Below является код:
dojo.connect(grid, "onRowClick", function(evt){
var idx = evt.rowIndex,
item = this.getItem(idx);
dojo.byId("results").innerHTML = "You have clicked on "
+ this.store.getValue(item, "id");
});
Но вопрос я не мог в состоянии продолжить писать JavaScript, чтобы изменить выпадающее меню на основе пользователя строки. Еще одно требование - строки должны быть редактируемыми, что достигается с помощью редактируемое: 'true' при определении столбцов. Пожалуйста, предложите, как я могу отобразить значение списка меню выпадающего меню в зависимости от строки, нажатой пользователем. Спасибо.
--EDIT--
Мое фактическое требование, когда я нажимаю на любой строке в сетке, возьмите COLUMN1 значение и нажмите на контроллер пружины так, что на основе этого значения ярового контроллера возвращает значение раскрывающегося, который мне нужен для отображения в выпадающем меню. Пожалуйста, см. Скрипку: http://jsfiddle.net/x9kLbqz5/7/ Но проблема в том, когда я вызываю функцию javascript getDropDownValue (id); внутри dojo.connect (сетка, «onRowClick», функция (evt), строки больше не редактируются, я хочу, чтобы строка также редактировалась, а также вызывала функцию javascript, чтобы я мог сделать вызов ajax контроллеру весны ., чтобы получить динамическое значение раскрывающегося списка и показать в раскрывающемся списке
dojo.connect(grid, "onRowClick", function(evt){
var idx = evt.rowIndex,
item = this.getItem(idx);
dojo.byId("results").innerHTML = "You have clicked on "
+ this.store.getValue(item, "id");
var id = this.store.getValue(item, "id");
alert("item:" + id);
getDropDownValue(id);
});
function getDropDownValue(ColumnValue){
alert("getDropDownValue");
//ajax call to hit spring controller and get the dropdown value
var column1 = columnValue;
var xmlHttp;
if (window.XMLHttpRequest)
{
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
var url = <%=request.getContextPath%>+"/getDropDownValue.htm?id="+column1;
xmlHttp.onreadystatechange = function() {
handleServerResponse(xmlHttp);
};
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
function handleServerResponse(xmlHttp)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
if (xmlHttp.responseText != "null")
{
//handle response
}
}
}
}
Благодаря @Srikant Sahu, мое фактическое требование, когда я нажимаю на любой строке в сетке, возьмите COLUMN1 значение и нажмите контроллер пружины, так что на основе этого значения весенний контроллер возвращает выпадающее значение, которое мне нужно отобразить в выпадающем меню, чтобы сделать его простым, я изменил свой qu estion, но кажется, что он не удовлетворяет моему требованию, извините :(. Можете ли вы предложить, как я могу вызвать метод javascript, когда я нажимаю на строку и могу получить доступ к id в javascript, чтобы я мог сделать вызов ajax контроллеру Spring в javascript, чтобы получить значение раскрывающегося списка, которое извлекается из базы данных. – user222
Привет .... Я обновил скрипку http://jsfiddle.net/x9kLbqz5/8/. Я ввел новую функцию getValuesFromController (id). Это фактически принимает идентификатор и вызывает URL-адрес с использованием dojo/request (ajax) ... Затем функция имеет успешный и обработчик ошибок, который может использоваться соответственно. Пожалуйста, проголосуйте за ответ, если он соответствует вашим потребностям. –