jQuery 选项卡和单选按钮的错误
Bug with jQuery tabs and radio button
当用户 select 在第二个或第三个选项卡 (jquery-ui) 上单击单选按钮时存在错误。
第一个选项卡中相同位置的单选按钮是 selected 而不是真正的 selected 单选按钮。
https://jsfiddle.net/qy58n2zc/
有解决办法吗?
$(function() {
$("#tabs").tabs();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First (OK)</a></li>
<li><a href="#tabs-2">Second (bug)</a></li>
<li><a href="#tabs-3">Third (bug)</a></li>
</ul>
<div id="tabs-1">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
<div id="tabs-2">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
<div id="tabs-3">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
您必须更改输入的名称才能对其进行分组。
你可以尝试这样的事情。
$(function() {
$("#tabs").tabs();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First (OK)</a></li>
<li><a href="#tabs-2">Second (OK)</a></li>
<li><a href="#tabs-3">Third (OKKKK)</a></li>
</ul>
<div id="tabs-1">
<label for="male">Male</label>
<input type="radio" name="gender[1]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[1]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[1]" id="other" value="other"><br>
</div>
<div id="tabs-2">
<label for="male">Male</label>
<input type="radio" name="gender[2]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[2]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[2]" id="other" value="other"><br>
</div>
<div id="tabs-3">
<label for="male">Male</label>
<input type="radio" name="gender[3]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[3]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[3]" id="other" value="other"><br>
</div>
当用户 select 在第二个或第三个选项卡 (jquery-ui) 上单击单选按钮时存在错误。 第一个选项卡中相同位置的单选按钮是 selected 而不是真正的 selected 单选按钮。
https://jsfiddle.net/qy58n2zc/
有解决办法吗?
$(function() {
$("#tabs").tabs();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First (OK)</a></li>
<li><a href="#tabs-2">Second (bug)</a></li>
<li><a href="#tabs-3">Third (bug)</a></li>
</ul>
<div id="tabs-1">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
<div id="tabs-2">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
<div id="tabs-3">
<label for="male">Male</label>
<input type="radio" name="gender" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender" id="other" value="other"><br>
</div>
您必须更改输入的名称才能对其进行分组。 你可以尝试这样的事情。
$(function() {
$("#tabs").tabs();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First (OK)</a></li>
<li><a href="#tabs-2">Second (OK)</a></li>
<li><a href="#tabs-3">Third (OKKKK)</a></li>
</ul>
<div id="tabs-1">
<label for="male">Male</label>
<input type="radio" name="gender[1]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[1]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[1]" id="other" value="other"><br>
</div>
<div id="tabs-2">
<label for="male">Male</label>
<input type="radio" name="gender[2]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[2]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[2]" id="other" value="other"><br>
</div>
<div id="tabs-3">
<label for="male">Male</label>
<input type="radio" name="gender[3]" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="gender[3]" id="female" value="female"><br>
<label for="other">Other</label>
<input type="radio" name="gender[3]" id="other" value="other"><br>
</div>