长期潜伏在这里问我的第一个公开问题,因为我真的被困住了。
我正在使用托管购物车平台,因此我只能访问某些指定div中的代码。我有一个我在外面调用的javascript代码(因为内联是坏的,除非你必须,对吗?)
所以我的问题是,有一个<select>
下拉列表,我没有直接访问权限来更改HTML,而且愚蠢的购物车平台没有给它一个id,只设置了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
在此先感谢,任何帮助表示赞赏!
答案 0 :(得分:1)
如果您希望每次点击元素时都要发生某些事情,请使用.click()
而不是.change()
。后者只有在从菜单中选择与之前不同的值时才会触发。
$("[name=ShippingSpeedChoice]").click(function(e) { $("#result_div").empty(); });
答案 1 :(得分:1)
首先,我可能会尝试设置购物车选择具有ID。
$("[name=ShippingSpeedChoice]").id = 'shopping_cart_select';
然后尝试通过它的id将“change”函数绑定到元素。
$('#shopping_cart_select').bind('change', function(){
//rest of code goes here
}
答案 2 :(得分:0)
我仍无法使用name
属性来调用该函数,因此我使用id
td
的{{1}}找到了解决方法的方法。下拉列入:
ShippingSpeedChoice
现在每次都会发射。非常感谢你的所有反馈和帮助 - 我仍然希望我能弄清楚如何使用 $("#DisplayShippingSpeedChoicesTD").change(function(e) {
$("#result_div").empty();
属性而不是name
,但这将是另一天的难题!