Как я могу получить значения из конкретных выборов и выпадающих?

Мой сайт используется в качестве справочной службы. Вверху есть пара обязательных полей, которые никогда не меняются. Тогда есть два раскрывающихся списка ниже. Первый определяет, какие параметры есть во втором, а второй определяет все поля ниже, которые могут быть заполнены. У меня все это работает. Однако, если я добавлю кнопку внизу, я не знаю, как получить все тексты из полей. Нижние поля отображаются с использованием некоторых операторов switch и JavaScript, делающего div видимым.

Вот пример div:

 <div id="third_form_three" class="third_hidden" style="display:none;">
       <label id="company_label" class="stdFormLabel">
           Which Company:
        </label>
        <select id="company_select">
           <option value="apple">Apple</option>
           <option value="pear">Pear</option>
           <option value="banana">Banana</option>
         </select><br>
          Sales Org: <input type="text" name="sales_org" required><br>
          Sales Office: <input type="text" name="office" required><br> 
          Sales Group: <input type="text" name="group" required><br> 
          Customer Group: <input type="text" name="customer" required><br> 
          Sales District, if applicable: <input type="text" name="dist"><br> 
          <!-- ABILITY TO ATTACH A DOCUMENT -->
          <telerik:RadUpload ID="upl_cfsAttachment_four_one" ControlObjectsVisibility="None" InitialFileInputsCount="1" InputSize="40" runat="server" MaxFileInputsCount="1" required />
    </div>

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

 function cfsButtonClick() {
            var array = [];
            var inputs = [];
            inputs.push(jQuery('.third_hidden:visible').contents().find('input'));
            inputs.each(function () {
                if (jQuery(this).val() != "")
                    array.push(jQuery(this).val());
            });
            alert(array[0]);
            alert(array.length);
        } 

Какие-либо предложения? Мне просто трудно получить все входные данные без написания заявления о переключении монстров со всеми уникальными идентификаторами. Чтобы представить это в перспективе, у моего первого выпадающего списка есть 5 вариантов, а у второго - в среднем 6. Таким образом, в моем примере ~30 делений, и все они в основном уникальны.

1 ответ

Решение

Эта строка:

inputs.push(jQuery('.third_hidden:visible').contents().find('input'));

должно быть:

inputs = jQuery('.third_hidden:visible input');

Вам не нужно .contents()и селектор возвращает коллекцию, с которой вы можете перебирать .each(),

Вы также можете упростить:

JQuery(this).val()

чтобы:

this.value
Другие вопросы по тегам