这是我的目标,但这只是静态的:
我希望使其动态化,因此下面的相关复选框遵循您在选择框中选择的值。
当您在当前的“18:00”选择框中选择并将其更改为另一个例如 19:00 时,我想这样做 - 然后下面的复选框应该跟随并更改为 1900,显示文本和名称都应该从copyTime[1][1800]
到copyTime[1][1900]
我怎样才能做到这一点?我不知道从哪里开始,也许应该重写当前代码的结构以使其成为可能?
非常感谢
这是我的目标,但这只是静态的:
我希望使其动态化,因此下面的相关复选框遵循您在选择框中选择的值。
当您在当前的“18:00”选择框中选择并将其更改为另一个例如 19:00 时,我想这样做 - 然后下面的复选框应该跟随并更改为 1900,显示文本和名称都应该从copyTime[1][1800]
到copyTime[1][1900]
我怎样才能做到这一点?我不知道从哪里开始,也许应该重写当前代码的结构以使其成为可能?
非常感谢
我创建了一个可能的解决方案:
$('select').change(function(){
var $this = $(this),
time = $this.val(),
$checkbox = $('#'+$this.attr('data-checkbox')),
$checkbox_label = $('label[for="'+$this.attr('data-checkbox')+'"]');
$checkbox.attr('name', 'copyTime[1]['+time+']');
$checkbox_label.text(time);
});
绝对不完美,但我希望它有所帮助。
$(".select").change(function() {
if($(this).is(":first-child"))
$(".label:first-child").html($(this).val());
else if($(this).is(":last-child"))
$(".label:last-child").html($(this)val());
else
$(".label").eq(1).html($(this).val);
});
所以:
使用这种方式来复选框:
<input type="checkbox" name="copyTime[1][1800]" value="1" CHECKED> <span>1800</span>
这是JS:
$('select').on('change', function(){
var ind = $(this).index();
var newVal = $(this).val().replace(':', '');
//alert($("input:checkbox").eq(ind).attr('name'));
$("input:checkbox").eq(ind).attr('name', 'copyTime[1]['+newVal+']');
$("input:checkbox").eq(ind).next('span').html(newVal);
});
这是小提琴