가 보이는 내 문제를 설명하는 jsfiddle.net 링크입니다. datepicker를 <input>
에 바인딩하면 jQuery UI는 hasDatepicker
클래스를 <input>
클래스에 추가합니다. <input>
에
var cls = $(e.currentTarget).attr('class');
및 cls
에 'std hasDatepicker'
을 얻을 : 그럼 당신은이 작업을 수행.
class
이 너무 많아서 변경하려는 속성을 식별하기 위해 다른 것을 사용하는 것이 좋습니다.
<!-- HTML -->
<input id="std" class="std" ...>
// JavaScript
var cls = e.currentTarget.id;
또는 name
속성 :
<!-- HTML -->
<input name="std" class="std" ...>
// JavaScript
var cls = $(e.currentTarget).attr('name');
혹은 심지어 HTML5의 데이터 속성 :
<!-- HTML -->
<input class="std" data-attr="std" ...>
// JavaScript
var cls = $(e.currentTarget).data('attr');
내가 name
생각이 있다면 당신은 하나의 std
id
를 사용할 수 있습니다 속성이 가장 자연 스럽습니다 : http://jsfiddle.net/ambiguous/RRKVJ/
,
그리고 몇 측 문제 :
- 귀하의 바이올린 여러 jQuery를 버전하고는 일반적으로 좋은 생각이 포함되었다.
set
에 대한 개체를 만들 필요가 없으며 하나의 속성 만 설정하는 경우에는 단지 m.set(attr, value)
이라고 말할 수 있습니다.
- 보기에는
$(this.el)
이 필요하지 않습니다. 최신 백본에는 this.$el
이 이미 캐시되어 있습니다.
console.log
은 복수 인수를 처리 할 수 있으므로 +
을 등 뒤에서 줄 이도록 지정하지 않으려면 console.log('Std: ' + attrs.std + ' Pod: ' + attrs.pod + ' Poa: ' + attrs.poa);
대신 console.log('Std: ', attrs.std, ' Pod: ', attrs.pod, ' Poa: ', attrs.poa);
을 말하십시오.
변경 이벤트는 ''이 (가) 포커스를 잃을 때까지 트리거되지 않으며 [HTML 사양도 그렇게 말합니다] (http://stackoverflow.com/a/10579168/479863). 그게 무슨 소리 야? 그렇다면 사용할 수있는 datetimepicker에서 적절한 이벤트가 있어야합니다. –
필자가 관찰 한 것부터 datetimepicker는 원하는 날짜/시간 값을 선택하기 전에 포커스를 잃습니다. datetimepicker에 대한 이벤트를 살펴 보겠습니다. 링크 주셔서 감사합니다. – fbynite
그러나 값이 변경된 후에 * 초점을 잃을 필요가 있습니다. jsfiddle.net 또는 jsbin.com에서 데모를 설정하여 어떤 일이 일어나는지 쉽게 확인할 수 있습니까? –