문제

정말 갇혀 .. 긴급한 조언이 필요합니다 : D 여기에 내 html이 있습니다.

<!-- Beginning of ROW !-->
<div id="row1">
 <div id="entry">
  free
  <span>some text</span>
  <p>DKK</p>
  <input type="radio" name="red<% Response.Write(counter); %>" id="radio" value="0" />
 </div>

 <div id="entry">
  week
  <span></span>
  <p>DKK</p>
  <input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />
 </div>
</div>
<!-- End of ROW !-->

<!-- Beginning of ROW !-->
<div id="row2">
 .... same as in row 1
</div>
<!-- End of ROW !-->

nth row ..

jQuery는 다음과 같습니다.

$("input").click(function() {
     $("input").parent("div").css("background", "url(images/div_bg.png)");
     $(this).parent("div").css("background", "url(images/div_bg_hover.png)");
});

내가하려는 일 .. 라디오 입력을 선택할 때 위치에 위치한 div가 배경을 변경해야하며 행이 하나만 있으면 완벽하게 작동하지만 예를 들어 첫 번째 행에서 값을 선택하려고하면 완벽하게 작동합니다. 그런 다음 두 번째 행에서 값을 선택합니다 .. 무선 입력이 위치한 두 번째 행의 DIV는 배경이 배경을 변경하지만 첫 번째 행의 DIV는 입력을 확인했지만 다른 배경으로 역전됩니다. 여기에 제가 달성하려는 내용은 다음과 같습니다.

alt text

그리고 여기에 내가 달성 한 것이 있습니다.

alt text

도움이 되었습니까?

해결책

두 번째 jQuery 라인의 목적은 무엇입니까?

$("input").parent("div").css("background", "url(images/div_bg.png)");

이것은 모든 "입력"div의 배경을 재설정 할 것입니다. 당신의 목표를 올바르게 이해한다면 당신이 원한다고 생각합니다.

$(this).parent("div").siblings("div.entry").css("background", "url(images/div_bg.png)");

그렇게하면 당신이 바꾸는 항목의 형제 자매 만 배경을 재설정하게됩니다.

참고로, 동일한 ID를 가진 여러 개의 div가 있습니다. 좋은 생각은 아닙니다.

다른 팁

이 라인 : $("input").parent("div").css("background", "url(images/div_bg.png)" 다른 모든 항목이 다른 모든 항목이 정상으로 재설정되어 한 번에 1 개의 활성 상태 만 가질 수 있습니다. 각 행에 하나의 항목을 선택할 수 있도록 행으로 범위를 범할 수 있습니다.

선택한 모든 입력 상자가 아닌 클릭 된 항목에 동작 만 할당합니다. 다음과 같은 기능을 만들고 싶을 수도 있습니다.

function foo()
{
   $('input :selected').css(bar);
}

이제 입력 이벤트에서 클릭 이벤트를받을 때마다 전화 표시 표시 줄이 있습니다. 사양을 충족하려면 FOO를 수정해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top