테스트 사이트 - 개발 중인 베타 버전입니다

옵션 선택에 따른 이미지 변경 소스가 작동을 하지 않아요 채택완료

블랑숑 7년 전 조회 2,130

옵션을 선택하고 그 선택한 value 값이 링크값이 되어 특정 ID의 이미지가 변경하는

 

없는 지식에 소스를 여러 곳에서 짜집기를 해서 만들었는데요

 

li 등으로 테스트하면 잘 나오는데 select option으로 하면 작동이 되지 않네요

 

option의 value값은 적용이 잘 되는 것으로 확인이 됩니다.

 

</p>

<p><BODY onLoad="initf(document.f)">

<img id="disp_img" src="<a href="https://sir.kr/img/main/logo2.png"" target="_blank" rel="noopener noreferrer">https://sir.kr/img/main/logo2.png"</a> alt="">

<form name='f'>

<select name="select_1" onchange="change_select_1(this.form)"></select>

<select name="select_2" onchange="change_select_2(this.form)"></select>

<select name="select_3"></select>

</form></p>

<p><script>

 

function Category(text, value) {

   this.text = text;

   this.value = value;

   this.length = 0;

}

function addCategory(category, text, value) {

   category[category.length] = new Category(text, value);

   category.length++;

}

var category = new Category();

// 수정 하실 부분.

// 구현 방법 addCategory (뎁스,네임,값)

// <option value="값">네임</option>

addCategory(category, "1");

addCategory(category, "2");

addCategory(category, "3");

addCategory(category[0], "1-1");

addCategory(category[0], "1-2");

addCategory(category[1], "2-1");

addCategory(category[2], "3-1");

addCategory(category[0][0], "1-1-1","<a href="https://sir.kr/img/bn/request-link2.gif");" target="_blank" rel="noopener noreferrer">https://sir.kr/img/bn/request-link2.gif");</a>

addCategory(category[0][0], "1-1-2");

addCategory(category[0][1], "1-2-1");

addCategory(category[0][1], "1-2-2");

addCategory(category[1][0], "2-2");

addCategory(category[2][0], "3-2");

function initf(f) {

   f.select_1.length = category.length+1;

   f.select_1[0].text = "-선택해주세요-";

   for (i = 1; i < f.select_1.length; i++){

      f.select_1[i].text = category[i-1].text;

      if(category[i-1].value)

      f.select_1[i].value = category[i-1].value;

   }

   f.select_1.selectedIndex = 0;

   change_select_1(f);

}

function change_select_1(f) {

   var i = f.select_1.selectedIndex;

   f.select_2.length = (i ? category[i-1].length : 0)+1;

   f.select_2[0].text = "-선택해주세요-";

   for (j = 1; j < f.select_2.length; j++){

      f.select_2[j].text = category[i-1][j-1].text;

      if(category[i-1][j-1].value)

      f.select_2[j].value = category[i-1][j-1].value;

   }

   f.select_2.selectedIndex = 0;

   change_select_2(f);

}

function change_select_2(f) {

   var i = f.select_1.selectedIndex;

   var j = f.select_2.selectedIndex;

   f.select_3.length = (i && j ? category[i-1][j-1].length : 0)+1;

   f.select_3[0].text = "-선택해주세요-";

   for (k = 1; k < f.select_3.length; k++){

      f.select_3[k].text = category[i-1][j-1][k-1].text;

      if(category[i-1][j-1][k-1].value)

      f.select_3[k].value = category[i-1][j-1][k-1].value;

     <span style="background-color:#f1c40f"> f.select_3[k].className = 'imglink';</span>

   }

   f.select_3.selectedIndex = 0;

}</p>

<p>$(document).ready(function(){

  $(".imglink").click(function() {

<span style="background-color:#f1c40f">    var image_url = $(this).attr("value");</span>

<span style="background-color:#f1c40f">    $('#disp_img').attr('src', image_url);</span>

  });

});</p>

<p></script>

</BODY>

</HTML></p>

<p>

 

이런 소스인데요

 

어떤 분께서

 

f.select_3[k].className = 'imglink'

 

-> f.select_3.className = 'imglink';

 

$(".imglink").click(function() {

 

-> $("select[name=select_3]").bind("change", function () {

 

var image_url = $(this).attr("value");

 

-> var image_url = $("select[name=select_3] option:selected").val();

 

로 변경해보라고 해서 변경을 해봤으나 역시 적용이 안되네요 ㅠㅠ

 

혹시 어떤 부분을 변경해야 정상적으로 작동을 할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
S
7년 전
로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

블랑숑
7년 전
으앗 이렇게 깔끔하게 되네요 완전 감사합니다 ㅠㅠ 로또 1등 되세요 너무 감사합니다
블랑숑
7년 전
body 부분도 해결해주셨네요 onload 없이도 ㅠㅠ 완전 감사합니다
블랑숑
7년 전
와 이거 제가 말은 안했지만 원하던 부분까지 모두모두 알려주셨어요 너무 감사해요

이미지 url이 있을 때 없을때까지 ;; 와 ㅠㅠ

의뢰는 아니지만 제가 뭐라도 보답하고 싶어서요 혹시 쪽지로 전화번호 주실 수 있으신가요?

더운 날 커피라도 드시게 커피 기프티콘이라도 보내드리고 싶네요 ㅠㅠ
로토루아
7년 전
도움이 되셨다니 저도 기쁘네요...
무더위에 건강조심하세요,,,
블랑숑
7년 전
아 기프티콘은 좀 그런가요? ㅠㅠ

건강 조심하시고 하시는 일 대박 나세요~! 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인