Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于单选按钮和Jquery滑块选择的多跨文本_Javascript_Jquery - Fatal编程技术网

Javascript 基于单选按钮和Jquery滑块选择的多跨文本

Javascript 基于单选按钮和Jquery滑块选择的多跨文本,javascript,jquery,Javascript,Jquery,我试图为一个产品建立一个选择流程,但我在定义一个值时遇到了一个小问题 基本上,我试图做的是根据他们选择的选项,乘以行数,得到一个总输出。我不知道如何做到这一点,但是,由于滑块不会定期上升 $(“#滑块”).滑块( { 价值:1, 分:0,, 最高:9, 步骤:1, } ); 变量项=['1行','2行','3行','4行','5行','8行','10行','15行','20+行']; var s=$(“#滑块”); s、 滑块({ 民:1,, max:items.length }); var

我试图为一个产品建立一个选择流程,但我在定义一个值时遇到了一个小问题

基本上,我试图做的是根据他们选择的选项,乘以行数,得到一个总输出。我不知道如何做到这一点,但是,由于滑块不会定期上升

$(“#滑块”).滑块(
{
价值:1,
分:0,,
最高:9,
步骤:1,
}
);
变量项=['1
行','2
行','3
行','4
行','5
行','8
行','10
行','15
行','20+
行']; var s=$(“#滑块”); s、 滑块({ 民:1,, max:items.length }); var oneBig=100/(项目长度-1); $。每个(项目、功能(键、值){ var w=一个大的; if(key==0 | | key==items.length-1) w=1大/2; $(“#图例”)。追加(“+value+”); }); //总和起点/////////////// $(“:radio”)。打开(“更改”,函数(){ var合计=0; $(“:radio:checked”)。每个(函数(){ 总数+=数量(该值); }); $(“#总计”)。正文(总计); });
h3{
边缘顶部:30px;
}
#滑块标签{
位置:绝对位置;
宽度:20px;
左边距:-10px;
文本对齐:居中;
边缘顶部:20px;
}
#滑块{
宽度:100%;
利润率:2米自动;
}
.台词{
字体大小:10px;
}
标签{
显示:内联块;
文本对齐:居中;
线高:1.5;
字体大小:粗体;
}
标签:第一个孩子{
文本对齐:左对齐;
}
标签:最后一个孩子{
文本对齐:右对齐;
}
.滑柱#滑柱a{
边框:1px实心#fff;
背景:#1b2a3d;
}

选择1
选择2
选择3

您的总金额为:0.00英镑 如果您注意到,我已将“slide”属性附加到您的滑块上,每次滑块值更改时都会调用该属性。您可能需要为边缘案例添加一些检查

$("#slider").slider(
    {
        value:1,
        min: 0,
        max: 9,
        step: 1,
    }
);
var valueMap = [0, 1, 2, 3, 4, 5, 8, 10, 15, 20];

var items =[ '1 <br>line','2 <br>lines','3 <br>lines','4 <br>lines','5 <br>lines','8 <br>lines','10 <br>lines','15 <br>lines','20+ <br>lines'];

var s = $("#slider");

s.slider({
  min:1,
  max:items.length,
  slide: function( event, ui ) {
        $("#total").text("$" +  (valueMap[ui.value] * $('input[name=phone]:checked').val()));
      }
});

var oneBig = 100 / (items.length - 1);

$.each(items, function(key,value){
  var w = oneBig;
  if(key === 0 || key === items.length-1)
    w = oneBig/2;

  $("#legend").append("<label style='width: "+w+"%'>"+value+"</laben>");  

});



//sum start ///////////////



$(":radio").on("change", function(){
    var total = 0;
    $(":radio:checked").each(function(){
        total = Number(this.value) * valueMap[Number($( "#slider" ).slider( "value" ))];
    });

   $("#total").text(total);
});
$(“#滑块”).滑块(
{
价值:1,
分:0,,
最高:9,
步骤:1,
}
);
var valueMap=[0,1,2,3,4,5,8,10,15,20];
变量项=['1
行','2
行','3
行','4
行','5
行','8
行','10
行','15
行','20+
行']; var s=$(“#滑块”); s、 滑块({ 民:1,, max:items.length, 幻灯片:功能(事件、用户界面){ $(“#total”).text(“$”+(valueMap[ui.value]*$('input[name=phone]:checked').val()); } }); var oneBig=100/(项目长度-1); $。每个(项目、功能(键、值){ var w=一个大的; if(key==0 | | key==items.length-1) w=1大/2; $(“#图例”)。追加(“+value+”); }); //总和起点/////////////// $(“:radio”)。打开(“更改”,函数(){ var合计=0; $(“:radio:checked”)。每个(函数(){ 总数=数字(此.value)*valueMap[数字($(“#滑块”).slider(“值”))]; }); $(“#总计”)。正文(总计); });
更新:您可以自定义滑块的值。还添加了计算总值的函数

let$slider=$(“#slider”),
$legend=$(“#legend”),
$total=$(“#total”),
总计=0,
行=[1,2,3,4,5,8,10,15,20];
lines.forEach((值,键)=>{
设oneBig=100/(lines.length-1);
让宽度=(键===0 | |键===lines.length-1)?
oneBig/2:oneBig;
让text=(key!==lines.length-1)?
值+'
行:值+'+
行'; let label=$('') .css({'width':width+'%}) .html(文本); $legend.append(标签); }); $(“:radio”)。打开(“更改”,函数(){ updateTotal(行[$slider.slider(“选项”、“值”)]); }); $slider.slider({ 值:0, 分:0,, 最高:8, 步骤:1, 创建:()=>{ updateTotal(行[$slider.slider('value')]); }, 幻灯片:(事件,用户界面)=>{ updateTotal(行[ui.value]); } }); 函数updateTotal(值){ 总计=值*$(“输入[name='phone']:选中”).val(); $total.text(total.toFixed(2)); }
h3{
边缘顶部:10px;
}
#滑块标签{
位置:绝对位置;
宽度:20px;
左边距:-10px;
文本对齐:居中;
边缘顶部:20px;
}
#滑块{
宽度:100%;
保证金:1em自动;
}
.台词{
字体大小:10px;
}
标签{
显示:内联块;
文本对齐:居中;
线高:1.5;
字体大小:粗体;
}
标签:第一个孩子{
文本对齐:左对齐;
}
标签:最后一个孩子{
文本对齐:右对齐;
}
.滑柱#滑柱a{
边框:1px实心#fff;
背景:#1b2a3d;
}

选择1
选择2
选择3


您的总数是:£0.00
我想您应该根据滑块的移动来更新总数。如果是,您还需要为滑块附加onchange处理程序,然后乘以所选的收音机。您好,Anurag,谢谢您的建议。我仍然不确定如何基于滑块值进行乘法,因为我需要的增量不一致。请参阅更新的答案,其中包括通过收音机和滑块进行的更改。您好,Anurag,谢谢您,但这仍然不能满足滑块中的自定义值(即它不只是以1的增量递增。在5之后,增量值会跳升)我还是不明白。你能用你的样品中的一些数据,再详细解释一下吗?特别是在预期和显示的情况下,我可以看到滑块移动1步,即从0到9,一次移动1步。你想在滑块中有一些自定义值,比如1.5吗?基本上我要找的是自定义值。因此,无线电值乘以行数。例如,如果客户选择选项1和8条线路,则总数将为47.92英镑(5.99英镑x 8英镑)。到目前为止,这还不起作用,因为滑块每次只向上移动1。在第五步之后,该值会上升3,而不是1。滑块中的值需要是:1,2,3,4,5,8,10,15,20但是它们仍然需要定期停止以匹配标签I现在就知道了,我想你可以有一个地图,其中关键点是滑块值1..9,它是