2014-05-10 67 views
0

我在我的网站上有一个错误...有2个单选按钮,一个用于美国,一个用于加拿大。美国航运成本比我的网站上的加拿大要便宜,但加拿大的用户可以将航运偏好更新到美国,这比美国的成本更低,然后用户可以返回加拿大的选项,而无需按更新运输按钮并转到下一页。这样他们可以通过获得更便宜的运输。什么可以是最简单的工作呢?我正在考虑一个JavaScript,它会检测用户是否更改了发货选项。确保按钮被按下,如果选中单选按钮更改

下面是我对HTML部分:

<input type='radio' id='1' name='shipping' value='1'/>&nbsp;United States&nbsp; 
<input type='radio' id='2' name='shipping' value='2' checked="checked"/>&nbsp;Canada&nbsp; 
<input type='submit' name='UpdateShipping' id='UpdateShipping' value='Update Shipping' /> 

你可以看到它在行动here

回答

1

尝试

$('input[name="shipping"]').change(function(){ //change event of radio button 
    $('#jcartUpdateShipping').trigger('click'); //click button 
}); 

.change()

.trigger()


更新OP的评论

.delegate()

$(document).delegate('input[name="shipping"]','change',function(){ //change event of radio button 
    $('#jcartUpdateShipping').trigger('click'); //click button 
}); 

// jQuery 1.4.3+ 
$(elements).delegate(selector, events, data, handler); 
// jQuery 1.7+ 
$(elements).on(events, selector, data, handler); 


使用后 Event Delegation

+0

它不工作:/我想我会得到更新Shippi ng按钮按下,如果单选按钮更改 – bondbaby11

+0

不适用于我在我的网站上:/你可以提供我一个jsfiddle工作演示,所以我可以尝试找出为什么它不是在我的网站上工作 – bondbaby11

+0

@iheartbreakz哪里有你添加了我写在你的页面上的代码,我找不到它? –