-1

我试图调用我的 document.getElementByID 以从我当前的表单中获取 ID。但它不会悬停在我输入的特定文本上,而不是输出“​”。作为数组中工具提示/悬停文本的参考,我已经修改了一些内容,但工具提示文本仍然没有显示。

Updated code-
In my html page:

<script>
$(document).ready(function () 
{
            var tooltip_Text = $('#tooltip_Text');
    var tooltip = $('#tooltip');
    $('#Hobby').hover(
        function() 
                    {
            tooltip.fadeIn(200);
        },
        function() 
                    {
            setTimeout ( function () {
                tooltip.fadeOut(200); student.php();
            }, 1000);
        }
    );
    $('#Hobby').bind('change', function() 
            {
        student.php('user has changed the value');
    });​
});​
</script>

//my list/menu
<select name="OffenceName" id="Hobby" ><span id="Hobby"></span>
<?php $arr = array('', 'cycling', 'badminton', 'jetskiing', 'ice-skating');
  for($i = 0; $i < count($arr); $i++)
  {
     echo "<option value=\"{$arr[$i]}\" {$selected}>{$arr[$i]}</option>\n"; 
  }
?>
</select>
<tool id="tooltip" class="tooltip">
<?php $toolarr = array('','cycling is...', 'badmintion is...', 'jetskiing is...', 'ice-skating is...');
  for($t = 0; $t < count($toolarr); $t++)
  {
      if($toolarr[t] == $arr[i])
      {
         echo "sample display";
      }
  }
<span id="tooltip_Text"></span>

​</p>

即使我尝试通过 id 而不是 student.php() 获取元素,我也无法调出下面的工具提示文本;好心提醒。

4

2 回答 2

2

您不应该使用原生 javascript 选择器选择元素,而应该使用 jQuery 选择器。就目前而言,您的代码无法工作,因为您调用的方法仅存在于您的元素由 jquery 对象包装的情况下。

所以而不是

document.getElementById("Hobby").hover(...

采用

$("#Hobby").hover(...

您的代码应该会抛出如下几个错误:

TypeError: Object #<HTMLDivElement> has no method 'hover'

编辑:

几个错误:

//my list/menu不是有效的 HTML 注释

student.php()也无效

于 2012-07-11T11:32:38.913 回答
1

试试这个;

$(document).ready(function () 
{
    $("#Hobby").hover(function(){
        $("#tooltip").fadeIn("slow");
    },
    function(){
        $("#tooltip").fadeOut();
    });


    $('#Hobby').change(function() {
      $("#tooltip_Text").text("user has changed the value"); // or you can use .html("...") intead of .text("...")

    });

});​
于 2012-07-11T11:41:58.393 回答