jquery - 使用 jquery 检查来自另一个元素的单选按钮

标签 jquery html

是否可以通过单击不相关的 html 元素来检查单选按钮,即。按钮、列表项或 anchor ?

我是 jquery 的新手,不确定我是否采用了正确的方法

这是我的 HTML

<ul>
<li>
    <a href="#p1">
    </a>
</li>
<li>
    <a href="#p2">
    </a>
</li>
<li>
    <a href="#p3">
    </a>
</li>

<ul class="package">
<li>
    <input type="radio" name="Package1" id="Package1" value="Package 1">
    <label for="Package1"> package 1</label>
</li>
<li>
    <input type="radio" name="Package2" id="Package2" value="Package 2">
    <label for="Package2"> package 2</label>
</li>
<li>
    <input type="radio" name="Package3" id="Package3" value="Package 3">
    <label for="Package3"> package 3</label>
</li>

和jquery

 <script>
    $(document).ready(function () {
        $("#p1").click(function () {
            $('input:radio[name=Package1]').prop('checked', true);
            $('input:radio[name=Package2]').prop('checked', false);
            $('input:radio[name=Package3]').prop('checked', false);
        });

        $("#p2").click(function () {
            $('input:radio[name=Package2]').prop('checked', true);
            $('input:radio[name=Package1]').prop('checked', false);
            $('input:radio[name=Package3]').prop('checked', false);
        });
        $("#p3").click(function () {
            $('input:radio[name=Package3]').prop('checked', true);
            $('input:radio[name=Package1]').prop('checked', false);
            $('input:radio[name=Package2]').prop('checked', false);
        });
    });
</script>

最佳答案

前提是可行的,但是您有一些语法错误。您的列表缺少关闭 </ul>元素,并且您通过不存在的 ID 进行选择。这是一个工作示例:

$("#p1").click(function() {
  $('input:radio[name=Package1]').prop('checked', true);
  $('input:radio[name=Package2]').prop('checked', false);
  $('input:radio[name=Package3]').prop('checked', false);
});
$("#p2").click(function() {
  $('input:radio[name=Package2]').prop('checked', true);
  $('input:radio[name=Package1]').prop('checked', false);
  $('input:radio[name=Package3]').prop('checked', false);
});
$("#p3").click(function() {
  $('input:radio[name=Package3]').prop('checked', true);
  $('input:radio[name=Package1]').prop('checked', false);
  $('input:radio[name=Package2]').prop('checked', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
  <li>
    <a href="#p1" id="p1">1
    </a>
  </li>
  <li>
    <a href="#p2" id="p2">2
    </a>
  </li>
  <li>
    <a href="#p3" id="p3">3
    </a>
  </li>
</ul>
<ul class="package">
  <li>
    <input type="radio" name="Package1" id="Package1" value="Package 1">
    <label for="Package1">package 1</label>
  </li>
  <li>
    <input type="radio" name="Package2" id="Package2" value="Package 2">
    <label for="Package2">package 2</label>
  </li>
  <li>
    <input type="radio" name="Package3" id="Package3" value="Package 3">
    <label for="Package3">package 3</label>
  </li>
</ul>

关于jquery - 使用 jquery 检查来自另一个元素的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878461/

相关文章:

javascript - 更改动态出现的链接的链接文本jquery?

javascript - 使图像同时调整大小和链接

javascript - 如何使用 Javascript 将文本框和按钮添加到表格中?

jquery - 基于 Aurelia 中的表达式将所选属性添加到选项

javascript - jQuery:.each() 似乎返回错误的值

javascript - jQuery-AJAX : Checking if Data Exists, 如果不是 "POST"

javascript - 使用 Javascript 反转关键帧动画

jquery - 从一个 div 滚动到下一个时更改导航栏按钮的事件状态

html - 如何将导航栏移动到水平居中?

javascript - 如何在开发者控制台中使用 Chrome 注入(inject) jQuery?