Вам необходимо присвоить вашим тегам <option>
атрибут value
и установить его как то, что вы хотите регистрировать при нажатии кнопки "Отправить".
Затем вы можете использовать метод .submit()
в своей форме, чтобы прослушать событие отправки, и использовать e.preventDefault()
, чтобы предотвратить выполнение формой действия по умолчанию и отправку.Затем вы можете получить выбранный выпадающий элемент, используя:
$("#myselect").val();
Затем вы можете выйти из этого значения, чтобы увидеть его в консоли.
См. Пример ниже:
$("#formId").submit(function(e) {
e.preventDefault(); // Stop the form from submitting
const dp_value = $("#myselect").val();
console.log(dp_value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<form id="formId" method="get">
<div class="container">
<h4>Start Date:</h4>
<input type="text" id="startdate" name="fromdate" width="276" placeholder="dd/mm/yyyy" required />
<h4>End Date:</h4>
<input type="text" id="enddate" name="todate" width="276" placeholder="dd/mm/yyyy" required />
<h4>Outlets:</h4>
<select name="outlet" id="myselect">
<option value="none">--------------------------------------</option>
<option value="all">ALL</option>
</select>
<div><br>
</div>
<div>
<br>
<button id="button" class="btn btn-default" type="submit">Search</button>
</div>
</div>
</form>
Однако, если вы планируете POST
все ваши данные, используя ajax Я рекомендую вам использовать .serializeArray()
для преобразования всех вашихформировать входы в массив.Затем, используя этот массив, вы можете использовать .reduce
, чтобы преобразовать его в объект, идентичный тому, который вы получите через метод POST submit:
$("#formId").submit(function(e) {
e.preventDefault(); // Stop the form from submitting
const data = $(this).serializeArray();
const post_data = data.reduce((acc, {name, value}) => ({...acc, [name]: value}), {});
console.log(post_data);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<form id="formId" method="get">
<div class="container">
<h4>Start Date:</h4>
<input type="text" id="startdate" name="fromdate" width="276" placeholder="dd/mm/yyyy" required />
<h4>End Date:</h4>
<input type="text" id="enddate" name="todate" width="276" placeholder="dd/mm/yyyy" required />
<h4>Outlets:</h4>
<select name="outlet" id="myselect">
<option value="none">--------------------------------------</option>
<option value="all">ALL</option>
</select>
<div><br>
</div>
<div>
<br>
<button id="button" class="btn btn-default" type="submit">Search</button>
</div>
</div>
</form>
Если вы не можете использовать свойство value
, я предлагаю вам использовать .find(':selected')
, чтобы получить выбор option
, а затем использовать .textContent
, чтобы получитьтекст в option
:
$("#formId").submit(function(e) {
e.preventDefault(); // Stop the form from submitting
const dp_value = $("#myselect").find(":selected")[0].textContent;
console.log(dp_value);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<form id="formId" method="get">
<div class="container">
<h4>Start Date:</h4>
<input type="text" id="startdate" name="fromdate" width="276" placeholder="dd/mm/yyyy" required />
<h4>End Date:</h4>
<input type="text" id="enddate" name="todate" width="276" placeholder="dd/mm/yyyy" required />
<h4>Outlets:</h4>
<select name="outlet" id="myselect">
<option>--------------------------------------</option>
<option>ALL</option>
</select>
<div><br>
</div>
<div>
<br>
<button id="button" class="btn btn-default" type="submit">Search</button>
</div>
</div>
</form>