作为 onClick 事件的一部分,被单击行的每个后续兄弟的隐藏“序列”输入的值减一。
$('#variants_' + product + ' .sequence')
.filter(function(){
return parseInt(this.value, 10) > sequence;
})
.val(function(index, value){
return value - 1;
});
我试图改变的输入最终看起来像这样:
<input type="hidden" name="v_sequence_6" id="v_sequence_6" value="function (index, value){
return value - 1;
}" class="sequence">
如何使用 .val() 的函数参数而不将其转换为字符串?
编辑 这里是相关功能的其余部分
function deleteVariant(row, product) {
var x = /x/
var sequence = $('#variantRow_' + row + ' .sequence').val();
if (! x.test(row) ){
$('#variants_' + product).closest('#variants').append("<div class='grayover'><div class='ajaxLoaderContainer'><div class='ajaxLoader'><img src='images/ajax-loader.gif' /></div></div></div>");
$.post('includes/_e-learning_ajax.php', { 'mode': 'deleteVar', 'variant': row }, function(data){
if (data == 'success'){
$('#variants_' + product + ' .sequence')
.filter(function(){
return parseInt(this.value, 10) > sequence;
})
.val(function(index, value){
return value - 1;
});
$('#variantRow_' + row).remove();
coursesReady();
} else {
alert(data);
}
$('.grayover').remove();
});
} else {
$('#variantRow_' + row).remove();
}
}