【发布时间】:2016-06-13 05:19:14
【问题描述】:
我硬编码了一个包含 4 列(req、label、type、customise)的表,其中行数取决于用户。在“类型”列中将有一个带有多个选项的选择元素,并且根据所选选项,相邻“自定义”列中显示的内容将发生变化。用户可以通过 JQuery 成功地将新行添加到表中。
我已经设法更改了“自定义”列的内容,但是,无论用户添加多少行,它总是会更改第一行的内容。
我认为伪代码是这样的:
if(rowID === 3)
{
switch(rowID3.type)
{
case "dropdownbox":
rowID3.columnID4.content = dropdown box
break;
case "radiobox":
rowID3.columnID4.content = radio box
break;
}
}
解释我的伪代码:
对于特定的rowID,在选择元素内的选项之间切换,如果选项是下拉框,则将相邻列的内容更改为选择元素。
我以前用过:
$(document).on('change', 'select[name="type"]', function()
{
console.log($(this).val())
var selected = $(this).val();
switch(selected)
{
case "type":
break;
case "header":
$('#customise' + count).empty();
$('#customise' + count).append('Header');
break;
插入新行代码:
$required = "<input type='checkbox' name='check' id='required" + count + "'>";
$label = "<input type='text' placeholder='Enter your label' id='label" + count + "'></input>";
$type = "<SELECT name='type' ><OPTION>Type</option><OPTION value='header'>Header</option><OPTION value='hr'>HR</option><OPTION value='textbox'>Text Box</option><OPTION value='datefield'>Date Field</option><OPTION value='person'>Person</option><OPTION value='dropdownbox'>Dropdown Box</option><OPTION value='image'>Image</option><OPTION value='checkboxgroup'>Checkbox Group</option><OPTION value='radiogroup'>Radio Group</option><option>" + count + "</option></select>";
$values = "<span id='values" + count +"'";
$element = "<tr class='child'> <td>" + $required + "</td> <td>" + $label + "</td> + <td>" + $type + "</td> <td>" + $values + "</td>";
我的问题: 如何根据 A 列的值更改 B 列的内容,当用户单击添加按钮时,这两者都是通过 JQuery 插入的?
【问题讨论】:
-
之后不要更改内容。相反,当你去添加行时,检查那里的值和那个时候动态的单元格内容
-
先添加行,然后用户自定义。如果用户自定义行然后添加它会更容易/更好吗?
-
他们如何开始自定义一行,他们每个人都有一个按钮还是什么?或者当用户更改第一列中的选择或类似的东西时,您是否更改了第二列?
-
他们自定义它,例如,希望有一个下拉框,他们可以在其中输入任意数量的下拉框值。如果他们想要一个文本区域,他们就无法自定义它。如果他们选择图像,则源的输入元素将可用
标签: javascript jquery binding