0

我试图弄清楚当用户在一个或两个 HTML 选择菜单中更改选项时如何动态更新文本输入字段。我在下面包含了我的代码,显示了它当前的工作方式。

$('tickets').addEvent('change', function() {
    if($('tickets').value > 0)
    {
        var cells = $$('.ticket2');
        cells.each(function(cell) { cell.setAttribute('style','display:none;');});
        var cells = $$('.ticket3');
        cells.each(function(cell) { cell.setAttribute('style','display:none;');});
        var sumValue = '$' + (100 * $('tickets').value + 10 * $('fiftytickets').value) + '.00';
        $('ordertotal').value = sumValue;
        $('ticket1heading').setHTML('Ticket(s)');
    } else {
        var cells = $$('.ticket2');
        cells.each(function(cell) { cell.setAttribute('style','');});
        var cells = $$('.ticket3');
        cells.each(function(cell) { cell.setAttribute('style','');});
        $('ticket2heading').setAttribute('style','text-align:center; font-weight:bold;');
        $('ticket3heading').setAttribute('style','text-align:center; font-weight:bold;');
        $('ordertotal').value = '$' + 250 + '.00';
        $('ticket1heading').setHTML('Ticket 1');
    }
});

门票选择菜单正确地影响 ordertotal 文本输入字段,但五十票选择菜单不会。我需要两者相互独立工作,但是当每个都改变时,会影响 ordertotal 文本输入字段的值。

非常感谢任何帮助。

谢谢你。

麦克风

4

1 回答 1

0

正如 JoDev 所说,选择元素的对象是用 $('#tickets') 引用的,而不仅仅是 $('tickets')。另外,我认为 jquery 中没有用于 select 元素的 value 属性。您可以使用 val() 函数获取值。

在这里为你创造了一个小小提琴

$('#tickets').change(function() {
   $('#output').val($(this).val() + " - " + $('#fiftytickets').val());
});
$('#fiftytickets').change(function() {
   $('#output').val($('#tickets').val() + " - " + $(this).val());
});
于 2013-06-11T14:24:51.590 回答