我真的被困了......我需要紧急的建议: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会反转到其他背景,尽管输入仍然被检查..这就是我的意思试图实现

这就是我所取得的成就:

有帮助吗?

解决方案

第二行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,这不是一个好主意。

其他提示

此行: $(&quot; input&quot;)。parent(&quot; div&quot;)。css(&quot; background&quot;,&quot; url(images / div_bg.png)&quot; 正在导致所有其他要重置为正常的项目,允许您一次只有1个活动状态。您可以将其范围限定为行,以便每行可以选择一个项目。

您只是为单击的项目指定行为,而不是为所有选定的输入框指定行为。你可能想要这样做一个函数:

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

现在,只要您在输入事件上获得点击事件,就可以调用条形码。您可能需要修改foo以符合您的规范。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top