[jQuery] input 배열일 때 selector

웹페이지 작업을 진행하다 보면 <input type=”text” name=”nn[]” /> 이런 식의 배열로 input을 만들 때가 있는데

이런 경우 jQuery 에서 이 input 배열에 접근하기 위해 $(‘input[name=nn[]]’) 와 같이 작성하면 오류가 발생한다.

[]기호가 jQuery selector에서 사용되기 때문인데.. 아래 코드와 같이 따옴표를 이용해서 지정해주면 된다.

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

<script src=”./jquery-1.8.3.min.js”></script>

</head>

<body>

<p></p>

<div>

    <input type=”text” name=”nn[]” />

    <input type=”text” name=”nn[]” />

</div>

<script>

$(function() {

    $(“input[name=’nn[]’]”).val(“0000”);

    /*

    var inp = document.getElementsByName(“nn[]”);

    for(i=0;i<inp.length; i++) {

        inp[i].value = “000”;

    }

    */

});

</script>

</body>

</html>

간단한 거였는데.. 머리가 굳었는지.. 이런 것조차 생각이 나지 않더라는… ㅋㅋ

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

2 thoughts to “[jQuery] input 배열일 때 selector”

  1. ㅠㅠㅠ4일내내 찾던 해답이 여기 있었네요 ㅠㅠ
    연습용으로 경력등록페이지를 만들어 언어나 tool을 여러개 선택해서 등록하고 수정하는 페이지를 만들고있었는데요
    업데이트 화면에 리스트로 뿌리다보니 인풋 체크박스타입 네임을 배열형식으로 지정했었습니다;;
    업데이트화면에서 기존에 체크해서 db에 저장했던 값들을 체크된 상태로 보여주려는데 이게 포문에 값은 잘 들어오는데 체크가 전부 똑같이되거나 아무것도 체크된게 없거나 그러더라고요 ㅠㅠ 네임에 ”요 따옴표 두개 찍는걸로 결과가 이렇게 달라지다니 ㅠㅠ 내일이 딱 일주일 공부한거 발표하는 날이였는데 구현하고싶었던걸 해결했어요 ㅠㅠ 너무너무 감사합니다 ~!!!^^

Leave a Reply

Your email address will not be published. Required fields are marked *