获取两个 UI 滑块在其中一个更改时将值传递给 Ajax

get two ui-sliders pass values to ajax when one change

本文关键字:值传 Ajax 在其中 UI 两个 获取 一个      更新时间:2023-09-26

我想将数据从两个ui-sliders(将来会更多)传递到我的ajax的php-server。我有下面的代码。问题是我需要一些帮助来理解我如何保留用户不会更改的滑块的值。第一个滑块仅向 genData.php 发送一个值。第二个滑块发送两个值"data: {'slider2': ui.value, 'slider':2}",但我想将"2"更改为滑块 1 的值。有什么好主意吗?也可以随意更改结构。

<html>
     <head>
    <link rel="stylesheet" href="jqueryui1103/css/start/jquery-ui-1.10.3.custom.min.css" type="text/css" />
</head>
<body>
    <div id="foo1">Value of slider 1.</div>
    <div id="foo2">Value of slider 2.</div>
    <div id="foo3">value1*value2.</div>
    <div id="scrollbar"></div><br><br>
    <div id="scrollbar2"></div>
</body>
<script src="jqueryui1103/js/jquery-1.9.1.js"></script>
<script src="jqueryui1103/js/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript">
      $(document).ready(function() {
        $('#scrollbar').slider({
            value: 35,
            max: 36,
            range: "max",
            animate: true,
            slide: function(event, ui) {
                $('#scrollbar').slider('value', ui.value);
                $.ajax({
                    type: 'post',
                    url: 'genData.php',
                    datatype: 'json',
                    data: {'slider': ui.value},
                    success: function(fromphp) {
                        $('#foo1').html(fromphp.foo1);
                        $('#foo2').html(fromphp.foo2);
                        $('#foo3').html(fromphp.foo1);
                    }
                });
            }
        });
        $('#scrollbar2').slider({
            value: 3,
            max: 50,
            range: "max",
            animate: true,
            slide: function(event, ui) {
                $('#scrollbar2').slider('value', ui.value);
                /** var test = ($("#slider").slider("value")); */
                $.ajax({
                    type: 'post',
                    url: 'genData.php',
                    datatype: 'json',
                    data: {'slider2': ui.value, 'slider':2},
                    success: function(fromphp) {
                        $('#foo1').html(fromphp.foo1);
                        $('#foo2').html(fromphp.foo2);
                        $('#foo3').html(fromphp.foo1);
                    }
                });
            }
        });
    });
</script>
</html>

您需要通过执行以下操作来获取值

  $("#scrollbar").slider( "option", "value" );

这是一个完整的工作解决方案http://jsfiddle.net/yALMx/74/

我将其重构为一个 ajax 调用,它获取两个滑块的值