我有一些按类型复选框输入:
<input type="checkbox" value="5da1dc651d011c56ef1cb3db_693715" onchange="handlechange(this)">
<input type="checkbox" value="6da1dc651d011c56ef1cb3db_123689" onchange="handlechange(this)">
handlechange()
函数将添加输入值 checkedin
<input type="hidden" value="" class="GetVals" />
主要问题是,当检查为 false 时,应删除该输入的值 <input type="hidden" value="" class="GetVals" />
, 但它不会删除。
function handlechange(a) {
var check = $(a).prop("checked");
if (check == true) {
var value = $(a).val();
ids += value + ','
}
else if (check == false) {
var elements = ids.substring(0, ids.lastIndexOf(","))
var element = elements.split(",");
}
$(".GetVals").val(ids)
}
最佳答案
您可以使用一些内置方法来实现结果。
您可以使用 .map()
仅在带有 .get()
的复选框上和 join()
像下面这样:
function handlechange() {
var ids = $('input:checked').map((i, chk) => chk.value).get().join();
$(".GetVals").val(ids)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="5da1dc651d011c56ef1cb3db_693715" onchange="handlechange(this)">
<input type="checkbox" value="6da1dc651d011c56ef1cb3db_123689" onchange="handlechange(this)">
<input class="GetVals" style="width:500px;"/>
关于javascript - 当检查为 false 时,从 javascript 中的逗号分隔字符串中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58780248/