1

我这里有问题。此代码创建一个动态 div:

for (var i = 0; i < number; i++) {
            $('#konf-select-mech').append('<div class="ksm-box"><table><tr><td width="111" class="ksmbt-r1"><span>Otvor '+ pocitadlo++ +':</span></td><td><select class="select-menu1"><option>Vyber mechanizmus</option><option value="Vypinac">Vypínač</option><option value="Zasuvka">Zásuvka</option></select></td><td width="106"><img src="./images/konfsipka.png" alt="" /></td><td><select class="select-menu2"></select></td></tr></table></div>');
        }

我可以使用javascript对其进行编辑:

$('.select-menu1').live('click', function() {
        var selectx = $(this).val();
        if(selectx == "Vypínač") {
            $(this).parent().parent().find('.select-menu2 option').remove();
            $(this).parent().parent().find('.select-menu2').append('<option value="Jednopackovy">Jednopáčkový</option><option value="Krizovy">Krížový</option><option value="Dvojpackovy">Dvojpáčkový</option><option value="Tlacitko">Tlačítko</option><option value="Stmievac">Stmievač</option>');
        }
        else if (selectx == "Zásuvka") {
            $(this).parent().parent().find('.select-menu2 option').remove();
            $(this).parent().parent().find('.select-menu2').append('<option value="Zasuvka230V">Zásuvka 230V</option><option value="ZasuvkaTVRD">Zásuvka TV+RD</option><option value="ZasuvkaTVRDSAT">Zásuvka TV+RD+SAT</option><option value="DatZasuvJedFTP">Dátová zásuvka jednoduchá FTP cat6</option><option value="DatZasuvDvojFTP">Dátová zásuvka dvojitá FTP cat6</option><option value="TelZasuvJedRJ11">Telefónna zásuvka jednoduchá RJ11</option>');
        }
        else if (selectx == "Vyber mechanizmus") {
            return false;
        }
    });

但它没有按预期工作。不知道出了什么问题。有人可以帮我吗?

谢谢你。

4

2 回答 2

0

如果select-menu1是一个<select>元素,您应该使用事件.change()而不是 .click() ,如下所示:

$('.select-menu1').change(function(
  // do something
));

或者

 $('.select-menu1').live('change', function(
  // do something
));
于 2012-04-05T12:02:51.743 回答
0

不要使用.live(). 使用.on(). 另外,将选择器更改为$('.select-menu1 option').

于 2012-04-05T11:57:14.210 回答