Я использую flexigrid в моем проекте frameworkignign framework. Все работает нормально. Теперь у меня есть требование - мне нужно отобразить "окно поиска" в верхней части сетки, а не снизу.
Я не нахожу лучшего варианта. Пожалуйста, помогите мне.
К сожалению, это не похоже на то, что есть какие-либо опции, которые вы можете установить для этого. Единственный способ - отредактировать файл flexigrid.js
.
Место, которое вы хотите отредактировать, находится вокруг строки 1313:
//add search button
if (p.searchitems) {
$('.pDiv2', g.pDiv).prepend("<div class='pGroup'> <div class='pSearch pButton'><span></span></div> </div> <div class='btnseparator'></div>");
$('.pSearch', g.pDiv).click(function () {
$(g.sDiv).slideToggle('fast', function () {
$('.sDiv:visible input:first', g.gDiv).trigger('focus');
});
});
//add search box
g.sDiv.className = 'sDiv';
var sitems = p.searchitems;
var sopt = '', sel = '';
for (var s = 0; s < sitems.length; s++) {
if (p.qtype === '' && sitems[s].isdefault === true) {
p.qtype = sitems[s].name;
sel = 'selected="selected"';
} else {
sel = '';
}
sopt += "<option value='" + sitems[s].name + "' " + sel + " >" + sitems[s].display + " </option>";
}
if (p.qtype === '') {
p.qtype = sitems[0].name;
}
$(g.sDiv).append("<div class='sDiv2'>" + p.findtext +
" <input type='text' value='" + p.query +"' size='30' name='q' class='qsbox' /> "+
" <select name='qtype'>" + sopt + "</select></div>");
//Split into separate selectors because of bug in jQuery 1.3.2
$('input[name=q]', g.sDiv).keydown(function (e) {
if (e.keyCode == 13) {
g.doSearch();
}
});
$('select[name=qtype]', g.sDiv).keydown(function (e) {
if (e.keyCode == 13) {
g.doSearch();
}
});
$('input[value=Clear]', g.sDiv).click(function () {
$('input[name=q]', g.sDiv).val('');
p.query = '';
g.doSearch();
});
$(g.bDiv).after(g.sDiv);
}
Я бы сказал, что изменение третьей линии prepend()
, вероятно, сделает трюк, но вам придется ее протестировать.
Попробуйте изменить его на что-то вроде:
$('.tDiv2', g.pDiv).prepend()
Надеюсь, это даст вам представление.