0

这是我的目标,但这只是静态的:

http://jsfiddle.net/ySu7q/

我希望使其动态化,因此下面的相关复选框遵循您在选择框中选择的值。

当您在当前的“18:00”选择框中选择并将其更改为另一个例如 19:00 时,我想这样做 - 然后下面的复选框应该跟随并更改为 1900,显示文本和名称都应该从copyTime[1][1800]copyTime[1][1900]

我怎样才能做到这一点?我不知道从哪里开始,也许应该重写当前代码的结构以使其成为可能?

非常感谢

4

4 回答 4

1

我创建了一个可能的解决方案:

$('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);
});​​​​

http://jsfiddle.net/ySu7q/1/

绝对不完美,但我希望它有所帮助。

于 2012-07-18T10:01:56.843 回答
0
$(".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);
});
于 2012-07-18T09:59:17.410 回答
0

你可以试试这个:

http://jsfiddle.net/ySu7q/2/

这是你想要的吗?

于 2012-07-18T10:02:53.263 回答
0

所以:

使用这种方式来复选框:

<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);

});

这是小提琴

于 2012-07-18T10:26:17.567 回答