Jquery没有运行单选按钮单击

时间:2015-08-02 08:55:31

标签: javascript jquery html

我想在用户选择单选按钮时显示警告框我已经编写了jquery来执行此操作。 这是我的代码

        

    <script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

    <script type="text/javascript">

$(document).ready(function() {
  $("#checkbox_div input:radio").click(function() {

    alert("clicked");

   });

  $("input:radio:first").prop("checked", true).trigger("click");

});
</script>
</head>
<ul>
<li><input type="radio"  name="theme" value="theme1"/>Theme1</li>
<li><input type="radio"  name="theme" value="theme2"/>Theme2</li>
<ul>
<li><input type="checkbox"  name="view1" />Tags</li>                        
</ul>
<li><input type="radio"  name="theme" value="theme3"/>Theme3</li>
<li><input type="radio"  name="theme" value="theme4"/>Theme4</li>
</ul>

我已经编写了这段代码,这段代码对我来说似乎很完美,但仍然没有运行jquery 请帮忙

3 个答案:

答案 0 :(得分:0)

请检查:http://jsfiddle.net/04nh2f71/

<script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

    <script type="text/javascript">

$(document).ready(function() {
  $("input:radio").click(function() { // removed #checkbox_div 

    alert("clicked");

   });

  $("input:radio:first").prop("checked", true).trigger("click");

});
</script>
</head>
<ul>
<li><input type="radio"  name="theme" value="theme1"/>Theme1</li>
<li><input type="radio"  name="theme" value="theme2"/>Theme2</li>
<ul>
<li><input type="checkbox"  name="view1" />Tags</li>                        
</ul>
<li><input type="radio"  name="theme" value="theme3"/>Theme3</li>
<li><input type="radio"  name="theme" value="theme4"/>Theme4</li>
</ul>

或者你可以试试这个

<script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>

    <script type="text/javascript">

$(document).ready(function() {
  $("#checkbox_div input:radio").click(function() {

    alert("clicked");

   });

  $("input:radio:first").prop("checked", true).trigger("click");

});
</script>
</head>
<ul id="checkbox_div"><!-- add id="checkbox_div" -->
<li><input type="radio"  name="theme" value="theme1"/>Theme1</li>
<li><input type="radio"  name="theme" value="theme2"/>Theme2</li>
<ul>
<li><input type="checkbox"  name="view1" />Tags</li>                        
</ul>
<li><input type="radio"  name="theme" value="theme3"/>Theme3</li>
<li><input type="radio"  name="theme" value="theme4"/>Theme4</li>
</ul>

答案 1 :(得分:0)

您需要从jQuery选择器

中删除#checkbox_div
$(document).ready(function() {
  $("input:radio").click(function() { //No #checkbox_div
    alert("clicked");
   });
  $("input:radio:first").prop("checked", true).trigger("click");
});

这是因为不存在具有id checkbox_div的元素,因此您尝试在单击不存在的元素时运行jQuery。

https://jsfiddle.net/jofish999/o7Lxc2ep/

或者,如果您必须保持特异性,请将该ID(checkbox_div)添加到ul

<ul id="checkbox_div"> <!-- Here, add that id -->
    <li><input type="radio"  name="theme" value="theme1"/>Theme1</li>
    <li><input type="radio"  name="theme" value="theme2"/>Theme2</li>
        <ul>
            <li><input type="checkbox"  name="view1" />Tags</li>                        
        </ul>
    <li><input type="radio"  name="theme" value="theme3"/>Theme3</li>
    <li><input type="radio"  name="theme" value="theme4"/>Theme4</li>
</ul>

http://jsfiddle.net/jofish999/b0vszhuz/1/

答案 2 :(得分:0)

您似乎没有#34;#checkbox_div&#34;的值,请尝试在您的单选按钮上添加ID。

<li><input type="radio"  id="checkbox_div" name="theme" value="theme1"/>Theme1</li>