2011-09-23 38 views
14

Chúng tôi có thanh trượt ui mà chúng tôi sử dụng và nó hoạt động hoàn hảo.ui trượt với đầu vào hộp văn bản

mã:

jQuery(function() { 
jQuery("#slider-range-min").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     jQuery("#amount").val("$" + ui.value); 
    } 
}); 
jQuery("#amount").val("$" + $("#slider-range-min").slider("value")); 
}); 

Như bạn có thể thấy chúng tôi cho phép người dùng chọn bất cứ điều gì giữa 0 và 5.000.000.

Html là:

<div id="slider-range-min" style="width: 460px; float:left;margin:10px;"></div> 

Những gì tôi muốn làm là thêm một yếu tố đầu vào văn bản mà làm việc trong sự hòa hợp với thanh trượt, do đó, người dùng trượt hộp texy tăng, giảm bất cứ điều gì ..

Hoặc nếu người dùng nhập số vào phần tử đầu vào, thanh trượt sẽ di chuyển một cách thích hợp.

Bất kỳ trợ giúp nào?

Preview là:

enter image description here

+1

Tôi nghĩ bạn có thể roi một thứ gì đó bằng [phạm vi với ví dụ tối thiểu cố định] (http://jqueryui.com/demos/slider/hotelrooms.html). –

+0

nhờ @rfausak sẽ kiểm tra nó ra – 422

+0

FYI: cũng tìm thấy nhóm sợi đã đạt được điều này, nhưng dường như họ là những người duy nhất .. http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/ muốn xem otehrs – 422

Trả lời

24

Bạn cần cập nhật các yếu tố input (như bạn đang làm gì bây giờ cho các phần tử #amount) trên slide:

$("#slider").slider({ 
    range: "min", 
    value: 1, 
    step: 1000, 
    min: 0, 
    max: 5000000, 
    slide: function(event, ui) { 
     $("input").val("$" + ui.value); 
    } 
}); 

Ngoài ra, bạn cần phải liên kết với sự kiện change cho phần tử input và gọi phương thức value của thanh trượt:

$("input").change(function() { 
    var value = this.value.substring(1); 
    console.log(value); 
    $("#slider").slider("value", parseInt(value)); 
}); 

Ví dụ:http://jsfiddle.net/andrewwhitaker/MD3mX/

Không có xác nhận xảy ra ở đây (bạn phải bao gồm "$" đăng ký cho nó hoạt động). Bạn có thể thêm một số vệ sinh đầu vào mạnh mẽ hơn để tăng cường nó.

+0

Thats tuyệt vời Andrew, vấn đề duy nhất tôi thấy là người dùng không thể nhập vào phần tử đầu vào và thanh trượt di chuyển đến vị trí có giá đó, cho đến khi bạn nhấp vào đầu vào. Tôi cho rằng có thể thêm onkeyup hey .. Nhưng mã tuyệt vời, bình chọn lên – 422

+0

@ 422: Điều đó * nên * làm việc, bạn có thể phải nhập một giá trị lớn để xem nó (thử ** $ 3000000 ** ví dụ) –

+0

thay đổi div thành

và vẫn không tự động cập nhật khi bạn nhập, ngay cả với số lượng lớn hơn. Trừ khi một vấn đề jsfiddle của nó, sẽ chuyển sang html và kiểm tra – 422

Các vấn đề liên quan