Я хочу назначить идентификатор сеанса (это будет скрыто) всякий раз, когда используется первый выбор выпадающего списка. Идентификатор сеанса - это номер 300, 301 и т.д. После "дня".
Когда пользователь выбирает что-либо из раскрывающегося списка "Предпочтительный", он должен присваивать значение "300" выпадающему меню "sessionid" и одновременно изменять значение раскрывающегося списка "день" (которое работает уже кстати)
Как это сделать правильно?
См. Код ниже:
<select id="preferred" class="preferred" name="preferred">
<option value="">- Select -</option>
<option value="Mountain Dew">Mountain Dew</option>
<option value="Seven Up">Seven Up</option>
</select>
<select id="day" class="day" name="day">
<option value=""></option>
</select>
<select id="sessionid" class="sessionid" name="sessionid">
<option value=""></option>
</select>
$(function() {
var selectValues = {
"Mountain Dew": {
"Monday": "300"
},
"Seven Up": {
"Tuesday": "301"
}
};
var $preferred = $('select.preferred');
var $day = $('select.day');
var $sessionid = $('select.sessionid');
$preferred.change(function() {
$day.empty().append(function() {
var output = '';
$.each(selectValues[$preferred.val()], function(key, value) {
output += '<option value="' + key + '">' + key + '</option>';
});
return output;
});
}).change();
});
Попробуйте это, если вы хотите установить значение раскрывающегося списка идентификаторов сеанса. Включите это после установки выходной переменной в вашей скрипке.
$sessionid.empty()
.append($("<option></option>")
.attr("value",value)
.text(value));
Вот ссылка на скрипку.
Но, как уже говорили другие, почему бы не использовать скрытое текстовое поле для хранения значения?
Чтобы сохранить значение в скрытом поле,
<input type="hidden" id="hdnSessionId" />
И добавьте это в скрипт.
$('#hdnSessionId').val(value);
Вы можете использовать Element.id = 'id'
для установки id в javascript.
https://developer.mozilla.org/en-US/docs/Web/API/Element.id
В вашем коде, вероятно, будет что-то вроде этого в точке, где вы хотите назначить id:
$sessionid[0].id = $day.val();
Но, пожалуйста, обратите внимание, что идентификатор должен начинаться с буквы, а цифры - это, как правило, плохая практика, даже если она работает.
Вложение этого значения в скрытое поле, вероятно, предпочтительнее этого решения.
Element.id = 'id'
чтобы установить идентификатор в JavaScript. developer.mozilla.org/en-US/docs/Web/API/Element.idid
илиvalue
этого поля?