Javascript только один раз выстрелил
Давний затаившийся здесь задает мои первые публичные вопросы, потому что я действительно застрял.
Я работаю на платформе с корзиной покупок, поэтому у меня есть доступ только для добавления кода в определенные назначенные элементы. У меня есть код javascript, который я вызываю извне (потому что встроенный - это плохо, если нет необходимости, верно?)
Так что моя проблема в том, что есть <select>
выпадающий список, который я НЕ имею прямого доступа для изменения HTML, и глупая платформа корзины покупок не дала ему идентификатор, только атрибут name установлен.
Мне нужно очистить <div id="result_div">
когда <select name="ShippingSpeedChoice">
щелкнул раскрывающийся список, поэтому у меня есть:
$("[name=ShippingSpeedChoice]").change(function(e) {
$("#result_div").empty();
});
Один раз срабатывает, но это все. Мой вопрос, как мне сделать так, чтобы КАЖДЫЙ РАЗ <select name="ShippingSpeedChoice">
нажал?
Вот все соответствующие javascript (в случае, если это мешает #result_div
от очистки где-то)
$("[name=ShippingSpeedChoice]").change(function(e) {
$("#result_div").empty();
});
$("#btn_calc").click(function(e) { /// onclick on Calculate Delivery Date button
Заранее спасибо, любая помощь приветствуется!
3 ответа
Я до сих пор не смог использовать name
атрибут для вызова функции, поэтому я нашел способ обойти это с помощью id
из td
ShippingSpeedChoice
выпадающий был в:
$("#DisplayShippingSpeedChoicesTD").change(function(e) {
$("#result_div").empty();
И это срабатывает каждый раз сейчас. Большое спасибо за ваши отзывы и помощь - я все еще хотел бы выяснить, как использовать name
атрибут, а не id
, но это будет загадкой для другого дня!
Если вы хотите, чтобы что-то происходило при каждом нажатии элемента, используйте .click()
скорее, чем .change()
, Последний срабатывает только в том случае, если они выбирают в меню другое значение, чем оно было раньше.
$("[name=ShippingSpeedChoice]").click(function(e) { $("#result_div").empty(); });
Прежде всего, я бы, вероятно, попытался настроить корзину выбора, чтобы иметь идентификатор.
$("[name=ShippingSpeedChoice]").id = 'shopping_cart_select';
затем попробуйте связать функцию "change" с элементом через его id.
$('#shopping_cart_select').bind('change', function(){
//rest of code goes here
}