iframe和Ajax $ .post

I'm using a $.post in a function and i'm getting $ is underfined. This is on an onchange event in an iframe. Why is it guvign this error?

 script type="text/javascript">
 function photoupdate(id, name, value, chk)
{
    if(chk==false)
    {
        value="";
    }
    $.post('photoupdate.php', {id: id, name: name, value: value})
};
 </script>


 <input type="radio" name="PrimaryPhoto" id="'.$recordid.'" value="Yes" '.$checked.' 
 style="position:relative; left:-20px; bottom:5px; margin:0px" 
 onchange="photoupdate(this.id, this.name, this.value, this.checked)"/>

You need to make sure the iframe contents has its own html/head/script src=jquery.js and whatnot.