我试图用jquery来构建某种表构建器。 (显示目的 只)
我有一个按钮,可以像这样添加一个新行:
var row_id = 0;
var row_array = [];
row_array[0] = 0;
$('#add_row').click(function() {
row_id ++;
row_array.push(0);
$('.rows_container').append('<li id="row_id_'+row_id+'" class="row"> <div class="control"><div class="add_columns">Pick number of columns +</div></div><ul class="column_container"> </ul></li>');
}
我首先将row_id设置为0并在数组中创建一个空值。因此,当我第一次单击添加行时,它将获得一个id为row_id_1并在数组中创建一个与当前行id匹配的index1。
现在我已经创建了一个对话框/弹出框,当您单击“选择列数”时显示该对话框/弹出框,并且它使用此函数获取其所在行的ID:
var parent_id = "";
$('body').on('click', '.add_columns', function() {
$('.pick_columns').css('display', 'block');
parent_id = $(this).parent().parent().attr('id');
}
在弹出窗口中我有一个输入字段和一个按钮,当你点击按钮时,它会把你在字段中写入的列数放到行中
var min_columns = 1
var columns_used = 0;
var columns_left = 10 - columns_used;
$('.columns_ok').click(function() {
var picked_value = parseInt($('.number_of_columns').val(),10);
if((picked_value >= min_columns) && (picked_value <= columns_left)) {
columns_id ++;
$('#' + parent_id + ' .column_container').append('<li id="columns_id_' + parent_id + '_' + columns_id + '" class="column used_' + picked_value + '"></li>');
columns_used += picked_value;
columns_left = 10 - columns_used;
$(this).parent().parent().css('display', 'none');
$('.number_of_columns').val('');
$('.error_message').css('display', 'none');
}
else {
$('.error_message').css('display', 'block');
}
}
我现在的问题是:如何将columns_used值保存到与父ID相同的数组索引值中?
因此,如果您选择了5列,它会将数组中的index1的值加5;
答案 0 :(得分:0)
您可以向Number对象添加属性。如果你用新的操作符显式设置它们。
之间存在差异
x=5 this represents like in other programming language a primitive DataType, lets better say a primitive DataType object
x=new Number (5) this represents an object like =new Object ()
x.valueOf () is representing the primitive DataType
x.a="test";
但要小心
alert (5==5) shows true
alert (new Number(5)==new Number (5)) shows false, because the Number is threaded like an object, and compared if it is the same object
所以你必须致电
var x=new Number (5);
var y=new Number (5);
alert (x.valueOf()==y.valueOf());
在你的情况下 row_array [0] = new Number(0);
现在您可以添加您的属性