Jquerymobile を使用しています。それに対応するスライダーとテキストボックスがあります。デフォルトの機能が与えられているので、定義した範囲に従ってスライダーを動かすと、テキスト フィールドに値が表示されます。しかし、数字の代わりにテキストを表示したい。それは重大度の問題に似ています。つまり、スライダーの値が 30 になると、テキスト ボックスに「少ないサーバー」と表示され、50 に達するとテキストが「多いサーバー」に変わります。
2 に答える
2
@Jeemusuのソリューションは、すべての場合に機能するわけではありませんでした...したがって、この情報を使用して変更しました:
<script>
$(document).bind('pageinit', function () {
//depending on the device we have a touch or a mouse event
var supportTouch = jQuery.support.touch,
touchStartEvent = supportTouch ? "touchstart" : "mousedown",
touchStopEvent = supportTouch ? "touchend" : "mouseup",
touchMoveEvent = supportTouch ? "touchmove" : "mousemove";
//the event is bound to the .ui-slider inside of the input type range
$('#slider-a').siblings('.ui-slider').bind(touchStopEvent,function(){
var sliderVal = $("#slider-a").attr('value');
if(sliderVal <= 30) {
$('#slider-phrase').html('normal');
} else if(sliderVal >= 30 && sliderVal < 50) {
$('#slider-phrase').html('less severe');
} else if(sliderVal >= 50) {
$('#slider-phrase').html('more severe');
}
});
});
</script>
こちらの実例をご覧ください
于 2012-11-20T21:45:26.127 に答える
1
jQuery Mobile によって作成されたアンカー (スライダーに使用される) を探し、それにタップ イベントをバインドするだけです。タップ イベントでは、条件ステートメントを使用して値を確認し、次のようにページに出力できます。
$(document).ready(function() {
var sliderAnchor = $("#slider-a").closest('div').children('div').children('a');
sliderAnchor.bind('tap',function(e){
var sliderVal = $("#slider-a").attr('value');
if(sliderVal <= 30) {
$('#slider-phrase').html('normal');
} else if(sliderVal >= 30 && sliderVal < 50) {
$('#slider-phrase').html('less severe');
} else if(sliderVal >= 50) {
$('#slider-phrase').html('more severe');
}
});
});
于 2012-11-20T09:54:06.313 に答える