Jquery val() не работает со скрытыми полями

#jquery #input #internet-explorer-7

#jquery #ввод #internet-explorer-7

Вопрос:

У меня странная проблема с некоторым кодом jQuery для проекта, над которым я работаю. Мне нужно создать серверную систему, но она должна работать в IE7 для отдела обслуживания клиентов компании.

У меня есть плагин для создания изображений в системе, где вы можете повторно обрезать изображения. Когда вы это сделаете, будет сгенерирован этот фрагмент кода

 <input id="imagewidth_large" type="hidden" value="640" name="imagewidth_large">
<input id="imageheight_large" type="hidden" value="360" name="imageheight_large">
<input id="imagewidth_xlarge" type="hidden" value="640" name="imagewidth_xlarge">
<input id="imageheight_xlarge" type="hidden" value="270" name="imageheight_xlarge">
<input id="imagewidth_list" type="hidden" value="360" name="imagewidth_list">
<input id="imageheight_list" type="hidden" value="270" name="imageheight_list">
<input id="imagewidth_grid" type="hidden" value="270" name="imagewidth_grid">
<input id="imageheight_grid" type="hidden" value="270" name="imageheight_grid">
<input id="imagewidth_grid_wide" type="hidden" value="230" name="imagewidth_grid_wide">
<input id="imageheight_grid_wide" type="hidden" value="135" name="imageheight_grid_wide">
<input id="orgwidth" type="hidden" value="1224" name="orgwidth">
<input id="orgheight" type="hidden" value="1632" name="orgheight">
<input id="orgpath" type="hidden" value="../../uploads/images/tmp/4e89d17443230.jpg" name="orgpath">
<input id="targetfile" type="hidden" value="../../uploads/images/tmp/4e89d17443230.jpg" name="targetfile">
<input id="crop_width" type="hidden" value="1224" name="crop_width">
<input id="crop_height" type="hidden" value="688.5" name="crop_height">
<input id="crop_rat" type="hidden" value="0.5228758169934641" name="crop_rat">
<input id="crop_x" type="hidden" value="0" name="crop_x">
<input id="crop_y" type="hidden" value="0" name="crop_y">
<input id="source" type="hidden" value="other" name="source">
<input id="croppedimage" type="hidden" value="" name="croppedimage">
  

Этот код представляет собой несколько ссылочных полей (плагин представляет собой расширенную версию меньшего обрезчика)

Проблема, с которой я сталкиваюсь, заключается в том, что в моем коде вы можете нажать кнопку recrop, которая откроет recropper и сгенерирует некоторый код. В этом коде он вызывает и устанавливает значения этих полей ввода.

Проблема в том, что я не могу установить прочитанные значения полей.

 $("#imagewidth_large").val();
  

Это возвращает undefined

 $("#imagewidth_large").val(500);
  

Это ничего не делает.

Спасибо

Комментарии:

1. У вас есть онлайн-пример? Вы пытаетесь получить доступ к полям после $(document).ready(function() { или $(function(){ ? Что console.log($('#imagewidth_large').val()); возвращает?

2. Отлично работает в этом jsFiddle: jsfiddle.net/jfriend00/erAwE . Либо это работает, но вы этого не осознаете, либо в вашем коде / HTML что-то еще не так, что вы нам не показали. Вы создаете более одного из этих блоков HTML? У вас не может быть нескольких объектов с одинаковым идентификатором.

Ответ №1:

Ваш HTML-код и код jQuery должны быть способны считывать val() . Проверьте это здесь:

http://jsfiddle.net/hZJVj/

Комментарии:

1. Спасибо, проблема заключалась в том, что я также выполнил несколько вызовов с идентификатором перед #imagewidth_large example $(«#container #imagewidth_large»).val() Похоже, что он не поддерживается

2. @joose Итак, работает ли он у вас сейчас? Возможно, у вас есть какой-то неработающий код JavaScript, который не позволяет выполнить эту часть. Можете ли вы опубликовать то, что у вас есть для вашего другого кода?

3. Я решил это. Мне просто нужно было заменить $(«#container #imagewidth_large»).val() на $(«#container»).find(«#imagewidth_large»).val()