我的Jquery不是“扔”任何东西

时间:2011-08-06 06:00:52

标签: jquery html codeigniter

我的代码在这里:

<script type="text/javascript" src="<?=base_url()?>lib/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$('.hover-star').click(function (){
    $('.someDiv').text(this.val());
})
</script>



                <input name="neat" type="radio" class="hover-star" value="1" title="Poor"/>
                <input name="neat" type="radio" class="hover-star" value="2" title="Fair"/>
                <input name="neat" type="radio" class="hover-star" value="3" title="Satisfactory"/>
                <input name="neat" type="radio" class="hover-star" value="4" title="Outstanding"/>

                <div id="someDiv">aray</div>  

我的问题在于它不会扔任何东西!我真的在这里。在jsfiddle.net这是有效的。我想要的是当点击我的单选按钮时它会显示其值或标题。

3 个答案:

答案 0 :(得分:2)

我在你的代码中看到了四件事:

  1. 不要忘记jquery点击事件定义末尾的;

  2. 您应该使用#someDiv而不是.someDiv,因为someDiv是Object Id,而不是Object类。这已经被韦斯利提到了。

  3. 由于this.val()不是原生javascript函数,因此无法使用val()。您可能希望使用将javascript对象包装到jQuery中的$(this).val()

  4. 您需要使用$(function() { /* your code */ });,因为在创建HTML对象之前定义了javascript函数。这是
    $(document).ready(function () { /* your code */ });

  5. 的快捷方式

    这将是:

    <script type="text/javascript">
    $(function() {
      $('.hover-star').click(function (){
        $('#someDiv').text($(this).val());
      });
    });
    </script>
    

答案 1 :(得分:0)

您需要将jQuery代码放在“ready”处理程序中:

$(document).ready(function() {
    // put your jQuery code here.
});

答案 2 :(得分:0)

您应该使用$(this),而不是this

请参阅here