I’m having some trouble with prototype changing the value of a hidden field.
Function:
function remove_fields (link) {
$(link).next('input[type=hidden]').value = '';
$(link).up(".open_hours").hide();
}
If I comment out the $(link).next('input[type=hidden]').value = ''; the hide function works. Trying to set the value gives me an error:
$(link).next("input[type=hidden]") is undefined
Here is my HTML around the function call:
<div class="monday">
<div class ="open_hours">
<li><label for="location_monday">Monday</label>
Open: 06:29PM -
Close: 04:21PM
<a href="#" onclick="remove_fields(this); return false;">remove</a></li>
<li class="hidden optional" id="location_monday_open_input"><input id="location_monday_open" name="location[monday_open]" type="hidden" value="18:29:00" /></li>
<li class="hidden optional" id="location_monday_close_input"><input class="close" id="location_monday_close" name="location[monday_close]" type="hidden" value="16:21:00" /></li>
</div>
</div>
Not sure what I’m doing wrong here? Thanks Guys!
jQuery based answer
Since you have provided the input with an id, you can use the id selector
If you want to get the hidden element not based on the id then you can use something like
Also if you want to hide the div with class name open_hours, you can use
I have re written the code for you.
Edit
next finds the immediately following sibling of the selector(which is the anchor tag). In your HTML there is no next sibling for the anchor tag.