Я пытаюсь использовать пользовательский интерфейс JQuery для написания функции, которая принимает идентификатор строки и скрывает все остальные строки, имеющие идентификатор, начиная с идентификатора, переданного в качестве аргумента функции. (Я пытаюсь что-то вроде сворачивания дочерних строк, если щелкнуть родительскую строку).
Например,
Если переданный идентификатор равен «1», все строки, имеющие идентификаторы «11», «111», «12», «121», «122» и т. Д., Должны быть скрыты, но не та, в которой идентификатор просто '1' * * 1005
Если переданный идентификатор равен «2», все строки, имеющие идентификаторы «21», «211», «22», «221», «222» и т. Д., Должны быть скрыты, но не та, в которой идентификатор просто '2'
В настоящее время я пытаюсь что-то вроде этого:
$(function() {
// run the currently selected effect
function runEffect(divId) {
// set effect type
var selectedEffect = "blind";
// most effect types need no options passed by default
var options = {};
// run the effect
$('tr[id^=%s]'.replace('%s',divId)).hide( selectedEffect, options, 1000, callback );
};
// callback function
function callback() {
};
// set effect from select menu value
$( "tr" ).click(function() {
var divId = this.getAttribute('id');
runEffect(divId);
return false;
});
});
Это прекрасно работает только с одной проблемой. Он также скрывает строку с идентификатором, который был передан. Поэтому, если я нажимаю на строку с идентификатором, равным «1», она скрывает все строки с идентификатором, равным 1, и строки, начинающиеся с 1. Я просто хочу скрыть все остальные строки, начинающиеся с идентификатора 1, но не ту, у которой идентификатор - просто «1». .
Please help!