페이지로드 후 동적으로 HTML 삽입 (키를 누른 후 변경)

mpdc

내 페이지가로드 될 때 콘텐츠는 PHP가있는 데이터베이스에서 가져 와서 수많은 부트 스트랩 .col-xs-3열에 채워집니다 .row.

그러나 페이지가로드 된 후 JavaScript / jQuery를 사용하여.row 4 개 열마다 새 열 을 닫고 시작 해야하며 에서 관련 HTML을 이동해야하는 코드에 삽입해야합니다. 이는 페이지의 콘텐츠 양이 특정 열을 숨기는 검색 창 내 사용자 입력에 따라 동적으로 변경 될 수 있기 때문입니다.keyup

내 페이지의 HTML 구조는 다음과 같습니다.

<input id="search" type="text">

<div class="row">
    <div class="col-xs-3 col-flex">1</div>
    <div class="col-xs-3 col-flex">2</div>
    <div class="col-xs-3 col-flex">3</div>
    <div class="col-xs-3 col-flex">4</div>
    <div class="col-xs-3 col-flex">5</div>
    <div class="col-xs-3 col-flex">6</div>
</div>

내가 그렇게 필요한 반면 :

<input id="search" type="text">

<div class="row">
    <div class="col-xs-3 col-flex">1</div>
    <div class="col-xs-3 col-flex">2</div>
    <div class="col-xs-3 col-flex">3</div>
    <div class="col-xs-3 col-flex">4</div>
</div>
<div class="row">
    <div class="col-xs-3 col-flex">5</div>
    <div class="col-xs-3 col-flex">6</div>
</div>

그러나 검색 창에 사용자가 입력하면 표시되는 페이지 내용이 다음과 같이 변경 될 수 있고 행이 올바른 위치에서 동적으로 닫힐 필요가 있기 때문에 PHP로 새 행을 하드 코딩 할 수 없습니다 ( 4누락 된 방법 유의하십시오 ).

<input id="search" type="text">

<div class="row">
    <div class="col-xs-3 col-flex">1</div>
    <div class="col-xs-3 col-flex">2</div>
    <div class="col-xs-3 col-flex">3</div>
    <div class="col-xs-3 col-flex">5</div>
</div>
<div class="row">
    <div class="col-xs-3 col-flex">6</div>
</div>

이것은 지금 내 jQuery이지만 작동하지 않는 것 같습니다.

$(document).ready(function() {
    function rowBreak() {
        var columnCount = 0;
        $('col-flex:visible').each(function() {
            columnCount++;
            if (columnCount % 4 == 0) {
                $(this).append('</div><div class="row">');
            }
        });
    }
    rowBreak();
    $("#search").on("keyup", function() {
        rowBreak();
    });
});

편집 : 그리고 방금 깨달았습니다. 내 코드는 키를 누를 때마다 올바른 위치에 다시 추가하기 전에 추가 행 제거를 고려하지 않습니다.

gaetanoM

또 다른 접근 방식은 다음 줄의 수정을 기반으로합니다.

$(this).append('</div><div class="row">');

이 줄은 다음과 같아야합니다.

var nextEles = $('.col-flex:hidden:gt(' + index + ')');
$('<div class="row">').append(nextEles).insertAfter(this.closest('div.row'));

주로 변수 columnCount는 유용하지 않습니다. 각 매개 변수를 살펴보십시오 .

내 스 니펫 :

function rowBreak() {
  $('.col-flex:hidden').each(function (i, e) {
    if (((i + 1) % 4 == 0) && ($(this).siblings().length != 3)) {
      var x = $('.col-flex:visible:gt(' + i + ')');
      $('<div class="row row-temp">').append(x).insertAfter($(this).closest('div.row'));
    }
  });
}

$(function () {
  rowBreak();
  $('#search').on('keyup', function () {
    $('.col-flex').hide();
    var s = this.value.toLowerCase();
    $('.col-flex').filter(function () {
      return $(this).find('h4').text().toLowerCase().indexOf(s) > -1;
    }).show();
    rowBreak();
  });
});
body {
  padding: 10px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>




<div class="form-group">
    <input class="form-control" id="search" placeholder="Search...">
</div>
<div class="row">
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">AECLIM</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">AEMET</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">AME</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">APMG</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">ATCN</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">METEOMET</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">MMC 2016</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
    <div class="col-xs-3 col-flex">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">SATCOM 2016</h4>
            </div>
            <div class="panel-body">
            </div>
        </div>
    </div>
</div>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

키를 누른 후 반복적으로 전송되기 전 지연 변경

분류에서Dev

jQuery AJAX Shift 키를 누른 후에 만 페이지 콘텐츠로드

분류에서Dev

Html Agility Pack 페이지로드 후 동적으로 생성 된 콘텐츠를 가져 오는 방법

분류에서Dev

뷰가로드 될 때 컨트롤 페이드 인 (상태 변경 후 삽입되지 않음)

분류에서Dev

스페이스를 누른 후 Sublime Text 3에서 괄호 사이에 공백을 자동으로 삽입하는 방법

분류에서Dev

Android에서 버튼을 누른 후 값을 활동으로 변경하는 방법은 무엇입니까?

분류에서Dev

JQuery Mobile : 동적으로로드 된 페이지 소스는 페이지를 변경 한 후에도 DOM에서 계속 사용할 수 있습니다.

분류에서Dev

클릭 유입 경로를 활용하고 일부 JS "헤더 맞춤 추적"에 삽입하려고하는데 페이지 이후에로드됩니까?

분류에서Dev

다른 드롭 다운 변경 후 Html.DropDownGroupList를 새로 고치는 방법

분류에서Dev

Firebase 및 HTML에서 성공적으로 가입 또는 로그인 한 후 사용자를 다른 페이지로 리디렉션하는 방법

분류에서Dev

키를 누른 후 iOS UItextfield 다시로드

분류에서Dev

Swift xcode : 버튼을 누른 후 텍스트 입력으로 테이블 내 행 / 셀의 이름 / 제목 변경

분류에서Dev

Firefox 30 이후로 PageMod ContentScriptOptions를 동적으로 변경할 수 없습니다.

분류에서Dev

키를 누른 후 코드 줄 반복

분류에서Dev

레코드 삽입 후 양식 페이지를 다시로드하고 자동 타이머로 모달 팝업을 자동으로 표시

분류에서Dev

키를 누른 후에 만 색상 변경

분류에서Dev

MacVim-Ctrl + C는 화살표 키를 누른 후에 만 삽입 모드를 종료합니다.

분류에서Dev

페이지를 다시로드하지 않고 ajax 성공 후 html에서 동적으로 업데이트 / 새로 고침

분류에서Dev

Enter 키를 누른 후 키 누르기 이벤트 감지

분류에서Dev

GridView에 데이터를 삽입 한 후 페이지 다시로드를 방지하는 방법

분류에서Dev

동적으로 삽입 된 콘텐츠 후 왼쪽 및 오른쪽 열 동일한 높이

분류에서Dev

새 입력 필드를 동적으로 삽입 한 후 입력 값을 설정할 수 없습니다.

분류에서Dev

페이지 상단에 Div를 삽입하고 Div를 삽입 한 후 모든 항목을 아래로 이동

분류에서Dev

html 페이지의 일부는 html 변경 후 자동으로 강조 표시됩니다.

분류에서Dev

HTML에 삽입 한 후 jQuery 노브가로드되지 않음

분류에서Dev

플러그인 적용 후 동적으로 로케일 변경

분류에서Dev

객체를 다른 조각으로 보낸 후 변경됨

분류에서Dev

재로드 후 PHP 페이지가 변경되지 않음

분류에서Dev

선택 메뉴 변경 후 페이지 다시로드 방지

Related 관련 기사

  1. 1

    키를 누른 후 반복적으로 전송되기 전 지연 변경

  2. 2

    jQuery AJAX Shift 키를 누른 후에 만 페이지 콘텐츠로드

  3. 3

    Html Agility Pack 페이지로드 후 동적으로 생성 된 콘텐츠를 가져 오는 방법

  4. 4

    뷰가로드 될 때 컨트롤 페이드 인 (상태 변경 후 삽입되지 않음)

  5. 5

    스페이스를 누른 후 Sublime Text 3에서 괄호 사이에 공백을 자동으로 삽입하는 방법

  6. 6

    Android에서 버튼을 누른 후 값을 활동으로 변경하는 방법은 무엇입니까?

  7. 7

    JQuery Mobile : 동적으로로드 된 페이지 소스는 페이지를 변경 한 후에도 DOM에서 계속 사용할 수 있습니다.

  8. 8

    클릭 유입 경로를 활용하고 일부 JS "헤더 맞춤 추적"에 삽입하려고하는데 페이지 이후에로드됩니까?

  9. 9

    다른 드롭 다운 변경 후 Html.DropDownGroupList를 새로 고치는 방법

  10. 10

    Firebase 및 HTML에서 성공적으로 가입 또는 로그인 한 후 사용자를 다른 페이지로 리디렉션하는 방법

  11. 11

    키를 누른 후 iOS UItextfield 다시로드

  12. 12

    Swift xcode : 버튼을 누른 후 텍스트 입력으로 테이블 내 행 / 셀의 이름 / 제목 변경

  13. 13

    Firefox 30 이후로 PageMod ContentScriptOptions를 동적으로 변경할 수 없습니다.

  14. 14

    키를 누른 후 코드 줄 반복

  15. 15

    레코드 삽입 후 양식 페이지를 다시로드하고 자동 타이머로 모달 팝업을 자동으로 표시

  16. 16

    키를 누른 후에 만 색상 변경

  17. 17

    MacVim-Ctrl + C는 화살표 키를 누른 후에 만 삽입 모드를 종료합니다.

  18. 18

    페이지를 다시로드하지 않고 ajax 성공 후 html에서 동적으로 업데이트 / 새로 고침

  19. 19

    Enter 키를 누른 후 키 누르기 이벤트 감지

  20. 20

    GridView에 데이터를 삽입 한 후 페이지 다시로드를 방지하는 방법

  21. 21

    동적으로 삽입 된 콘텐츠 후 왼쪽 및 오른쪽 열 동일한 높이

  22. 22

    새 입력 필드를 동적으로 삽입 한 후 입력 값을 설정할 수 없습니다.

  23. 23

    페이지 상단에 Div를 삽입하고 Div를 삽입 한 후 모든 항목을 아래로 이동

  24. 24

    html 페이지의 일부는 html 변경 후 자동으로 강조 표시됩니다.

  25. 25

    HTML에 삽입 한 후 jQuery 노브가로드되지 않음

  26. 26

    플러그인 적용 후 동적으로 로케일 변경

  27. 27

    객체를 다른 조각으로 보낸 후 변경됨

  28. 28

    재로드 후 PHP 페이지가 변경되지 않음

  29. 29

    선택 메뉴 변경 후 페이지 다시로드 방지

뜨겁다태그

보관