2011-08-10 89 views
0

jQuery的生活跨度检查了这一点请到http://offline.raileisure.com/不更新,直到第二次点击

在右侧的预订部分,选择站主人的房子,然后选择在8月15日的日期进行检查。然后中选择4。天... ...

OK

现在回去,并选择8月29日的不同日期。

4天应该取消,但直到你做了进一步点击其他地方是不...

我想我需要被更新直播ATTR。但不确定。

到勾去掉#spanduration我使用:

$('input[name="duration"]').removeAttr('checked'); 
$("#spanduration").attr("style", "background-position: 0px 0px;"); 

,但它不工作,直到你这样做第二次点击任何地方。

+0

你使用jQuery UI的日期选择器? – Rafay

回答

0

也许是因为它是一个单选按钮。

尝试将其更改为复选框?

单选按钮不喜欢被选中,如果没有其他检查:

<input type="radio" value="0" name="duration"> 
<input type="radio" value="1" name="duration"> 
<input type="radio" value="2" name="duration"> 
<input type="radio" value="3" name="duration"> 

和独立

<input type="radio" value="0" name="other_name"> 

在另一方面复选框取消选中对方:(注名是阵列等)

<input type="checkbox" value="0" name="duration[]"> 
<input type="checkbox" value="1" name="duration[]"> 
<input type="checkbox" value="2" name="duration[]"> 
<input type="checkbox" value="3" name="duration[]"> 

和独立

<input type="checkbox" value="0" name="other_name"> 

你可以写这样的事情有一个独立的复选框的能力,亦自单选按钮的甜头:http://jsfiddle.net/LJJrZ/

$(document).ready(function(){ 
    var selector = "input[type=checkbox]"; 
    $(selector).click(function(event){ 
     var checked = $(this).is(':checked'); 
     if (checked) { 
      $(selector).attr("checked", false); 
      $(this).attr("checked", true); 
     } 
    }); 
}); 
0

更改事件不会在文本输入触发,直到输入模糊。

您可以尝试在填充日期后手动模糊输入(对于辅助功能来说不太好)。或者更好的是,在填充日期后手动触发更改事件。例如

//... 
// After date is populated 
$('#date').trigger('change'); 
//... 

查看完整的例子在这里:http://jsfiddle.net/irama/rJGpn/

编辑:看你的代码,它看起来像有一个机会(当实例的日期选择器)插入到一个回调函数如下:

$('#date').datepicker({ 
    // ... 
    onSelect: function (e) { 
     // ... 

     $('#date').trigger('change'); 
    } 
    // ... 

让我们知道你是怎么回事!

+0

嘿@李你怎么样?你能触发这个变化吗?让我们知道你是否需要任何帮助。 – irama