알아보자
2k
2021-07-16 13:10:33
7
175

javascript for문 돌려서 option 선택



체크한 option 이 test 이면 다른 옵션들도  test 로 체크할려고 합니다.

아래처럼 하면 되긴 하는데 option value 값  안 정하고 순서값으로 할 수 없나요?

$( "#indvse_"+(r+1) "option:eq(2)" ).prop("selected", true); 이렇게 하면 문법이 안맞아서 안되는데 어떻게 바꿔야 하나요?

for(var r=0; r<rows.length; r++){
	if($("#select option:checked").text()=="test"){
		$( "#select_"+(r+1) ).val("test").prop("selected", true);
	}						
}
0
  • 답변 7

  • mj2
    106
    2021-07-16 13:47:57 작성 2021-07-16 13:50:57 수정됨
    제이쿼리 선택자 내부의 string을 console.log 해보세요!
  • 알아보자
    2k
    2021-07-16 13:53:16 작성 2021-07-16 13:54:38 수정됨
    string 을 console 찍으면 string 값 만  나오겠죠. 제가 물어본 건 option:eq() 이용했을 때 안된다고 하는겁니다.
  • spoon
    2k
    2021-07-16 13:59:03

    $( "#indvse_"+(r+1) "option:eq(2)" ).prop("selected", true); 이렇게 하면 문법이 안맞아서 안되는데 어떻게 바꿔야 하나요?

    >> +가 없는데 $( "#indvse_"+(r+1) +"option:eq(2)" ) 이렇게 해보신건가요?

  • 알아보자
    2k
    2021-07-16 14:04:19

    spoon


    _" 와 (r+1) 사이에 + 도 넣어봤는데 안됐습니다. 그래서 빼봤는데도 안되네요

    -1
  • sks1005
    146
    2021-07-16 14:24:49

    select tag 에 selectedIndex 라는게 있습니다.

    그냥 바닐라로 하면 이런식으로 되겠네요 제이쿼리는 찾아보세요

    for(var r=0; r<rows.length; r++){
    	if($("#select option:checked").text()=="test"){
    		document.querySelector(`#select_${r + 1}`).selectedIndex = r;
    	}						
    }
  • mj2
    106
    2021-07-16 14:28:51
    "option:eq(2)" 이 문자열부분 앞에 스페이스바 추가해보시는건 어떠신지요?
  • 알아보자
    2k
    2021-07-16 15:33:34

    mj2


    앞에 공백을 주니 되네요 감사합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.