알이즈웰
jQuery 자식요소 seletor & li의 value 가져오기 본문
jsp 코드 : controller에서 가져와서 동적으로 뿌림
<ul id="trendGroupList">
<c:foreach var="result" items="${resultList}" varstatus="status">
<li value="${result.tgId}"><c:out value="${result.tgName}" escapexml="false"></c:out></li>
</c:foreach>
</ul>
JavaScript - jQuery로 자식 요소 li 중 선택한 아이를 불러오고싶다.
그렇지만 동적으로 추가된 요소에는 이벤트가 적용되지 않는다.
그럴땐 on으로 click 이벤트를 주면된다.
(아래 코드는 선택한 li에 대해서 클래스를 준것(퍼블리싱이 없어서 따로 효과줌)
/* Javascript Sample */ $("#trendGroupList").on("click", "li", function(){ $(this).siblings().removeClass(); $(this).addClass("devTrendGroup"); selectTrendGroup($(this).val()); });
part2.
번외로 애먹었던것. 아직 완성하진않았지만 왜 그런지 문제가 가늠이 된다.
jQuery 버전 문제인것 같은 느낌적인 느낌이!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<ul id="tagList" class="devUlTagList">
<li class="devTagList" value="valueA">textA</li>
<li class="devTagList" value="valueB">textB</li>
<li class="devTagList" value="valueC">textC</li>
</ul>
function test(){ $("#tagList").children().each(function(){ console.log("1. $(this).text() : "+$(this).text()+", $(this).attr() : "+$(this).attr("value")); }); $(".devTagList").each(function(){ console.log("2. $(this).text() : "+$(this).text()+", $(this).attr() : "+$(this).attr("value")); }); }
날 괴롭혔던 문제가 뭐냐면. 자꾸 li의 value를 못 가져오는 것이다....
저 li들을 배열로 가져와서 서비스단에서 처리해야되는데, 자꾸만 li의 value값을 0으로 가져오는것.
.attr('value') 로 가져오는 것으로 (위의 코드로) w3schools 에서 테스트하면 잘만 가져온다.
테스트해보고 든 생각이 문득 jQuery 버전문제가 아닐까 싶은거당....
내일 회사가서 다시한번 봐봐야겟당
->
li 태그의 value는 number만 가능하다고함
https://www.w3schools.com/tags/tag_li.asp
https://developer.mozilla.org/ko/docs/Web/HTML/Element/li
참고
'Programming > Front-End' 카테고리의 다른 글
disabled처리된 값은 form의 value로 안 잡힌다 (0) | 2017.09.06 |
---|---|
jQuery.ajaxSettings.traditional = true; (0) | 2017.06.26 |
jQuery 자식요소(find, children) (0) | 2017.05.29 |
jQuery selectBox에서 option text값 가져오기 (1) | 2017.05.16 |
JSTL 함수로 현재 시간 나타내기 (0) | 2017.05.11 |