1

次のような単純なtimepicker要素があります。

<input class="pickuptime_end" id="pickuptime_end" name="pickuptime_end" placeholder="Time" size="10" type="text" value="10 pm" style="display: inline-block;">

値の変更時にそれをテストしているだけで、警告が表示されます:

$("input.pickuptime_start, input.pickuptime_end, input.deliverytime_start, input.deliverytime_end").change( function() {
    alert("changed")
})

JS Fiddle では、すべて正常に動作します ( https://jsfiddle.net/gnroaxut/1/ )。

ただし、私のライブ サイト ( https://hidden-tundra-8656.herokuapp.com/orders/61862e?key=UDIS ) では、そうではありません。コードはまったく同じです。

レンダリングされた HTML:

<input class="pickuptime_end" id="pickuptime_end" name="pickuptime_end" placeholder="Time" size="10" type="text" value="5 am">

ソース JS コード:

$('.pickuptime_end').timepicker({
  interval: 30,
  disableTextInput: true
});
$("input.pickuptime_start, input.pickuptime_end, input.deliverytime_start, input.deliverytime_end").change( function() {
  alert("changed")
})

なぜそれが機能しないのかについて何か考えはありますか? ご了承ください:

  • アセットをプリコンパイルしましたが、それは問題ではありません
  • 他のすべての jQuery は問題ありません。コードは不要であり、CDN 経由でインポートされていないため、問題はありません。
  • これも開発モードでは機能しません
  • コンソール エラーはありません
4

1 に答える 1

0

リンクした jsfiddle は、サイトで使用しているものとは異なるバージョンの timepicker を使用していました (1.10.0 [jsfiddle] と 1.3.1 [サイト])。jsfiddle を 1.3.1 で更新すると、アラートが壊れます: https://jsfiddle.net/ux2LweLb/2/

ただし、1.3.1 を使用すると、タイムピッカーのネイティブの変更プロパティを使用できます。

$('.pickuptime_end').timepicker({
      interval: 60,
    change: function(x){alert('changed')}
    });

実際の例については、https ://jsfiddle.net/t986738k/ を参照してください。

于 2016-07-27T19:25:00.380 に答える