#ajax #extjs #for-loop #if-statement #ajax-request
#ajax #extjs #for-loop #if-statement #ajax-запрос
Вопрос:
Я пытаюсь перебрать мои флажки, которые находятся в наборе полей, и если флажок установлен, я хотел бы добавить идентификатор флажка в массив, который был бы одним из моих параметров для моего Ajax-запроса.
Я понимаю, что мог бы создать группу флажков, но я новичок в ExtJS и не узнавал о Checkboxgroup до тех пор, пока не создал каждый отдельный флажок.
Пока у меня есть это..
function submitEntry(){
Ext.Ajax.request({
url: '../../inc/project4.php',
var obj = Ext.select('input[type=checkbox]').elements;
var i = 0;
for (i=0; i<obj.length; i ) {
if (obj[i].checked) {
params:{
symptom[]: obj[i].getId()
}
}
}
params: {action: 'create_input',
description: entryBox.getRawValue(),
},
method: 'POST',
success: function(f,a){
var jsonData = Ext.util.JSON.decode(f.responseText);
if(jsonData.success == true){
Ext.Msg.alert("Success!", "Your journal entry has been sent!");
entryStore.reload();
entryBox.reset();
}
else{
Ext.Msg.alert("Error! Please check your entry and try again.")
}
},
failure: function(f,a){
if(jsonData.success == false){
Ext.Msg.alert("Error! Please check your entry and try again.");
}
}
});
}
Пожалуйста, выберите и укажите на любые ошибки. Я не уверен, будет ли вообще работать способ, которым у меня есть два раздела для параметров. Мне просто нужно добавить идентификаторы установленных флажков в массив и отправить этот массив в качестве одного из моих параметров.
Заранее большое вам спасибо за любую помощь!
Ответ №1:
Если вам нужно более одного выражения для сбора ваших флажков, вы должны собрать их перед вызовом Ext.Ajax.request .
var checkboxes = Ext.select(...);
// do other stuff to get just the checkboxes you want
Ext.Ajax.request({
url: "...",
params: checkboxes,
...
});