У меня проблема в том. У меня есть список выбора с тем же именем, но с другим индексом. Я не знаю, как обнаружить элемент, когда я нажимаю на один из них. Пример:
<select name='contract_sides[0][joint_venture]'>
</select>
<select name='contract_sides[0][company_id]'>
</select>
<select name='contract_sides[1][joint_venture]'>
</select>
<select name='contract_sides[1][company_id]'>
</select>
...........
<select name='contract_sides[n][joint_venture]'>
</select>
<select name='contract_sides[n][company_id]'>
</select>
Когда я меняю значение одного из них. Я покажу / скрою <select name="contract_sides[index]company_id"></select>
ниже. Спасибо большое за вашу помощь. Извините за мой английский ! P / s: проблема проще, если мы используем класс, но проблема в том, что мы можем использовать только имя.
Решение от Light:
$('select[name*="joint_venture"]').on('change', function () {
let name = $(this).attr('name');
let index = name.match(/\[([0-9]*)\]/)[1];
// Hide the company id
$(`select[name="contract_sides[${index}][company_id]"]`).hide();
});