JQuery или PHP можно показать Nth / индекс рядом с элементом

0

EDIT:

У меня есть 400 "входов" на странице, используя тот же класс:

.oDiv

Есть ли способ показать на странице nth позицию этого класса (то есть его индекс) - так ли это 1-й, 2-й, 40-й, 100-й и т.д.

У меня есть серия классов на странице:

.oDiv

На странице более 400 из них - то, что я делаю, используется:

$( '.oDiv:eq(6)' ).remove();

для удаления некоторых из них в зависимости от выбора пользователей.

Что бы мне помогло с точки зрения кодирования, можно увидеть на странице.HTML number каждого из классов - для проверки и отладки ошибок.

Пример:

<input type="checkbox" class="oDiv" id="Mat"  name="spec[]" value="Mat 6"/>
<input type="checkbox" class="oDiv" id="Neo"  name="spec[]" value="Neo 7"/>
<input type="checkbox" class="oDiv" id="Prey"  name="spec[]" value="Prey 8"/>

Где 6 7 и 8 в value показывают, что они являются 6-м, 7-м и 8-м в списке классов oDiv.

Это имеет смысл и это возможно?

  • 0
    Вы ищете свойство length или метод index () или оба. Теперь улучшите свой вопрос: что вы ищете?
  • 0
    Я не могу понять, в чем твоя проблема. Можешь добавить еще детали?
Показать ещё 7 комментариев
Теги:
class
list

4 ответа

2

Вы можете показать onDocument нагрузки,

$.each($(".oDiv"), function() {
    $("#debug").append($(this).val() );
})

где мы можем иметь

<div id="debug"></div>

для отображения значений всех ваших флажков. Для любого удаления флажков просто запустите код для обновления div.

1

Это может помочь:

<input type="checkbox" class="oDiv" id="Mat"  name="spec[]" value="Mat 6"/>
<input type="checkbox" class="oDiv" id="Neo"  name="spec[]" value="Neo 7"/>
<input type="checkbox" class="oDiv" id="Prey"  name="spec[]" value="Prey 8"/>

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery('.oDiv').each(function(index, element) {
            // index is a numerical increment of each element.
            // element is a javascript object of the "this" element.
            jQuery(element).after(jQuery(element).val() + '<br />');
            jQuery(element).on('change', function() {
                jQuery(this).remove();
            });
        });
    });
</script>
1

Вы ищете .index(selector)

Попробуйте это, я предполагаю, что вы хотите увидеть его индекс при нажатии.

$('.oDiv').click(function(){
  alert($('.oDiv').index(this));
});

Пожалуйста, прочитайте это, чтобы узнать больше о .index()

  • 0
    Я думаю, это $(this).index() или $('.oDiv').index(this)
  • 0
    Выглядит лучше - хотя, как ни странно, это возвращает -1 независимо от того, что я нажимаю.
Показать ещё 6 комментариев
1

Если число всегда является последним символом, используйте это:

$('input:checkbox').on('change', function(e) {
    var num = $(this).val().substr(-1);
    console.log(num);
});

В качестве альтернативы вы можете использовать .index, чтобы получить позицию:

$('input:checkbox').on('change', function(e) {
    var num = $('input:checkbox').index($(this));
    console.log(num);
});

Обратите внимание, что .index начинается с 0, поэтому первый найденный элемент будет 0, второй 1 и т.д.

$(function() {
    $('input:checkbox').each(function(i, e)) {
        var num = $('input:checkbox').index($(this));
        console.log($(this).val() + " is in position " + num);
    });
});
  • 0
    Я думаю, что это движется в правильном направлении - хотя это, кажется, не работает, и мне нужно, чтобы это показывало все позиции, а не только когда я выбираю одну.
  • 0
    Итак, вы хотите показать все позиции при загрузке страницы?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню