jQuery onChange支持输入值

时间:2012-04-10 20:59:02

标签: javascript jquery select option onchange

我有一个<select>下拉列表,我通过jQuery插入到我的HTML中。我无法控制HTML,但我可以控制JavaScript。

当您选择一个选项时,我正试图为<input>元素赋一个值。基本上,我有一个<select>元素<option id="1"><option id="2"> onChange 这个<select>元素;
如果您选择option#1,则应将值 dummy1 设为input[name="Check_Config_PaymentGateway_CreditCards_Login1"],将值 dummy2 设为input[name="Check_Config_PaymentGateway_CreditCards_Password"] 如果您选择option#2,则应将 dummy3 的值设为input[name="Check_Config_PaymentGateway_CreditCards_Login1"],将值 dummy4 设为input[name="Check_Config_PaymentGateway_CreditCards_Password"]

我一直在研究jsFiddle

我对JavaScript很新,更不用说jQuery了。这是我熟练的方法......如果你能帮助我,我真的很感激。

3 个答案:

答案 0 :(得分:0)

尝试以下内容,

编辑:缓存输入文本框。

DEMO

var dummyValues = [['dummy1', 'dummy2'], ['dummy3', 'dummy4']];

var $loginInput = $('input[name=Check_Config_PaymentGateway_CreditCards_Login1]');
var $pwdInput = $('input[name=Check_Config_PaymentGateway_CreditCards_Password]');

$('#paymentDD').change(function () {
  var selectedVal = parseInt($(this).val(), 10) - 1;
  $loginInput.val(dummyValues [selectedVal][0]);
  $pwdInput.val(dummyValues [selectedVal][1]);
});

在向下拉菜单添加移动选项时更新了dummyValues var。

答案 1 :(得分:0)

我尽可能地喜欢缓存元素,这就是我的工作。我还看到你在jsFiddle中使用了最新的jQuery(1.7.2),为什么不使用推荐的 .on() 方法,然后立即调用 {{3} 填充加载?

.change()

var $span = $('span#print_pagename'),
    $login = $('input[name="Check_Config_PaymentGateway_CreditCards_Login1"]'),
    $password = $('input[name="Check_Config_PaymentGateway_CreditCards_Password"]'),
    $select = $('<select><option id="1">1</option><option id="2">2</option></select>');

$span.after($select);

$select.on('change', function() {

    var $this = $(this);

    if ($this.val() === '1') {

        $login.val('dummy1');
        $password.val('dummy2');

    } else if ($this.val() === '2') { 

        $login.val('dummy3');
        $password.val('dummy4');

    }

}).change();

答案 2 :(得分:0)

在这里:http://jsfiddle.net/VW9N6/6/

这会绑定change元素的<select>事件,以检测其值何时更改,然后更新<input>元素的值。