如果选择框选项为no,如何动态保持输入字段为空?

时间:2011-08-11 09:55:36

标签: javascript jquery

具有在输入字段上写入时自动填充其他输入字段的形式,同时用户键入电子邮件

$("#edit-submitted-yhteystiedot-sahkoposti").keyup(function(){
    $("#edit-submitted-saannot-newsletter-newsletter-email-address").val(this.value);
});

问题是,如果用户不想接收简报并且没有为选择框选择任何选项,则ID#edit-submitted-saannot-newsletter-newsletter-email-address的输入字段应保持为空,即使用户使用更改为默认电子邮件字段。 SELECT的ID是#edit-submitted-saannot-haluan-uutiskirjeen

2 个答案:

答案 0 :(得分:0)

var $select = $('#edit-submitted-saannot-haluan-uutiskirjeen'),
    $emailInput = $("#edit-submitted-saannot-newsletter-newsletter-email-address");
$select.change(function(){
    if($select.val() == 'No')
        $emailInput.val('');
}):
$emailInput.keyup(function(){
    if($select.val() == 'No')
        $emailInput.val('');
});

答案 1 :(得分:0)

当用户将选择更改为“否”时,重置电子邮件字段并设置自定义属性以了解您不希望自动更新

$("#edit-submitted-saannot-newsletter-newsletter-email-address").val(this.value).attr("noautoupdate", true);

然后像这样更改您的代码

$("#edit-submitted-yhteystiedot-sahkoposti").keyup(function(){
  if (!$(this).attr("noautoupdate")) $("#edit-submitted-saannot-newsletter-newsletter-email-address").val(this.value);
});

如果用户将select更改为“yes”,则将属性设为false:

$("#edit-submitted-saannot-newsletter-newsletter-email-address").val(this.value).attr("noautoupdate", false);