Как я могу получить значения из конкретных выборов и выпадающих?
Мой сайт используется в качестве справочной службы. Вверху есть пара обязательных полей, которые никогда не меняются. Тогда есть два раскрывающихся списка ниже. Первый определяет, какие параметры есть во втором, а второй определяет все поля ниже, которые могут быть заполнены. У меня все это работает. Однако, если я добавлю кнопку внизу, я не знаю, как получить все тексты из полей. Нижние поля отображаются с использованием некоторых операторов 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