javascript - 从 Jquery slider 提交值

标签 javascript jquery html ajax post

嘿伙计们,我这里有一个 jquery slider 的代码。我想取出 slider 的值并使用 http post 方法将该值提交到数据库。我有一个处理表单,我成功地将其用于文本框和单选按钮。我希望将 slider 的值保存在隐藏字段中然后将其发布。我知道这从 slider 中获取值。

    var selection = $( ".selector" ).slider( "value" );

现在如何将其添加到此提交表单的值中?

    <input type='hidden' class="mainForm" id="fieldBox_5" name="field_5" value=selection>

这是我的全部代码。

    <<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Slider - Slider bound to select</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="style.css">
  <script>
  $(function() {
    var select = $( "#minbeds" );
    var slider = $( "<div id='slider'></div>" ).insertAfter( select ).slider({
      min: 1,
      max: 10,
      range: "min",
      value: select[ 0 ].selectedIndex + 1,
      slide: function( event, ui ) {
        select[ 0 ].selectedIndex = ui.value - 1;
      }
    });
    $( "#minbeds" ).change(function() {
      slider.slider( "value", this.selectedIndex + 1 );
    });
  });
  var selection = $( ".selector" ).slider( "value" );
  </script>
</head>
<body>

<form id="mainForm_1" class="MainForm" method=post enctype=multipart/form-data action=processorss.php onSubmit="return validatePage1();">



  <label for="minbeds" class="mainForm">Rate Your Prefence for Fish 1-10</label>
 <select name="minbeds" id="minbeds">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
  </select>
  <li class="mainForm">



  <input type='hidden' class="mainForm" id="fieldBox_5" name="field_5" value=selection>

                    <input id="saveForm" class="mainForm" type="submit" value="Submit" />
                </li>
</form>


</body>
</html>

最佳答案

我添加了额外的代码来将所选值(从下拉列表或 slider )复制到隐藏字段。诀窍是,一旦获得所选项目的值,您需要自己将其复制到隐藏字段。

相关更改在这里(我还将其打印到控制台以验证值,您可以在检查它是否正确工作后删除这两行):

var selection = $("#slider").slider("value");
console.log("Slider value: " + selection);
$("#selectedNumber").val( selection );
console.log("Hidden field value: " + $("#selectedNumber").val());

请参阅下面的演示:

$(function() {
    var select = $("#minbeds");
    var slider = $("<div id='slider'></div>").insertAfter(select).slider({
      min: 1,
      max: 10,
      range: "min",
      value: select[0].selectedIndex + 1,
      slide: function(event, ui) {
        select[0].selectedIndex = ui.value - 1;
        $("#selectedNumber").val( ui.value - 1 );
        console.log("Slider value: " + (ui.value - 1) );
        console.log("Hidden field value: " + $("#selectedNumber").val());              
      }
    });
  
    $("#minbeds").change(function() {
      slider.slider("value", this.selectedIndex + 1);
      var selection = $("#slider").slider("value");
      console.log("Slider value: " + selection);
      $("#selectedNumber").val( selection );
      console.log("Hidden field value: " + $("#selectedNumber").val());      
    });
  });
#slider {
  margin: 20px;
  width: 400px;
}
<link href="https://code.jquery.com/ui/1.11.4/themes/black-tie/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>

<form id="mainForm_1" class="MainForm" method=post enctype=multipart/form-data action=processorss.php onSubmit="return validatePage1();">


  <li class="mainForm">
    <label for="minbeds" class="mainForm">Rate Your Prefence for Fish 1-10</label>

    <select name="minbeds" id="minbeds">
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
      <option>7</option>
      <option>8</option>
      <option>9</option>
      <option>10</option>
    </select>

    <input type='hidden' class="mainForm" id="selectedNumber" name="selectedNumber" />

    <input id="saveForm" class="mainForm" type="submit" value="Submit" />
  </li>
</form>

关于javascript - 从 Jquery slider 提交值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082890/

相关文章:

javascript - 如何使表格可按标题 Angular 排序?

javascript - 如何使用用户定义的方程计算 HTML 表列(使用 javascript 或 jquery)

javascript - nivo slider 图像调整大小问题

javascript - 查找并选择文本中的非英文字符

javascript - 当我发出新请求时,Ajax http 请求将以前的图像加载到轮播中

javascript - 将 div id 转换为字符串

html - HTML中的条件语句叫什么?

html - 为什么我们不能给 <img> 标签添加 id 属性?

html - 片段链接失效

javascript - Bootstrap日期选择器自动填充结束日期