let kod = "";
$(".radOvladac").click(function(){
if($(this).is(':checked')){
let value = $(this).val();
kod = kod + value;
console.log(kod);
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="ovladani">
<input type="checkbox" value="-y1" class="regulaceTeploty">
<h2>Tempeture regulation</h2>
<input type="checkbox" value="-a" class="radOvladac">Heater<br>
<input type="checkbox" value="-b" class="radOvladac">Ground heater 1<br>
<input type="checkbox" value="-c" class="radOvladac">Ground heater 2<br>
<input type="checkbox" value="-d" class="radOvladac">Funcoil<br>
</div>
我有多个复选框(大约20个)
<input type="checkbox" value="-a" class="Configurator">Radiátory<br>
<input type="checkbox" value="-b" class="Configurator">Podlahové vodní<br>
<input type="checkbox" value="-c" class="Configurator">Podlahové el.<br>
<input type="checkbox" value="-d" class="Configurator">Funcoil<br>
如果我检查任何内容,请添加.val();作为变量“ kod”(代码)内的字符串
$(".radOvladac").click(function(){
if($(this).is(':checked')){
let value = "";
kod = kod + value;
value = $(this).val();
kod = kod + value;
console.log(kod);
}
它会像“ -a-a-a-a-b ...”这样累加它的值,我该如何只切换一次该值? Kod是无法更改的全局变量。如果我选中复选框,它将添加-a->如果取消选中,它将删除-a,依此类推。我一直在使用-split,但这会很复杂。
答案 0 :(得分:1)
根据我对您问题的了解,我想您需要以下解决方案。我也不知道radOvladac是什么,所以用了输入类希望对它有帮助:)
kod = "";
$(".Configurator").click(function() {
let value = "";
if ($(this).is(':checked')) {
kod = kod + value;
value = $(this).val();
kod = kod + value;
} else {
value = $(this).val();
index = kod.indexOf(value);
//console.log(index);
kod = kod.slice(0, index)
}
console.log(kod);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="-a" class="Configurator">Radiátory<br>
<input type="checkbox" value="-b" class="Configurator">Podlahové vodní<br>
<input type="checkbox" value="-c" class="Configurator">Podlahové el.<br>
<input type="checkbox" value="-d" class="Configurator">Funcoil<br>
答案 1 :(得分:1)
如果我正确理解了您的问题,应该这样做吗?
$(".radOvladac").click(function(){
if($(this).is(':checked')){
let value = $(this).val();
kod = kod + value;
console.log(kod);
} else {
kod = kod.replace($(this).val(), "");
}
答案 2 :(得分:0)
您的意思是这样...这将随时显示所有选中的项目。
df1 = pd.DataFrame({'old_index': [5, 9, 872],
'Value 1': [1.234, -0.233, 28.11]})
df2 = pd.DataFrame({'old_index': [6, 15, 23],
'Value 2': [-1.234, 0.433, 2.11]})
new_df = df1.merge(df2, how = 'outer').sort_values(by = 'old_index').fillna(method = 'ffill').reset_index(drop = True)
new_df.index+=1
new_df
old_index Value 1 Value 2
1 5 1.234 NaN
2 6 1.234 -1.234
3 9 -0.233 -1.234
4 15 -0.233 0.433
5 23 -0.233 2.110
6 872 28.110 2.110
let kod = {};
$(".radOvladac").click(function(){
let val = $(this).is(':checked') ? $(this).val() : "";
kod["item" + $(this).val()] = val;
let finalVal = $.map(kod, function(v){
return v;
}).join('')
alert(finalVal);
})