jQuery help:尝试为输入字段设置占位符值

时间:2017-06-03 20:06:13

标签: javascript jquery

所以,这是我的jQuery代码:

 if($('#quotation_request_payment_option_lease').is(':checked')){
    $('#quotation_request_down_payment').attr('placeholder', "1300");
  }

 else if($('#quotation_request_payment_option_finance').is(':checked'))
  {
    $('#quotation_request_down_payment').attr('placeholder', "1500");
  }

如果选中了quotation_request_payment_option_lease复选框,那么我想将quotation_request_down_payment输入字段中的占位符设置为1300.

如果选中了quotation_request_payment_option_finance复选框,那么我想将quotation_request_down_payment输入字段中的占位符设置为1500.

现在,页面的默认值是选中了quotation_request_payment_option_lease复选框,因此当我加载页面时,quoation_request_down_payment输入字段的占位符设置为1300(这就是我想要的)。

我遇到的问题是,当我检查quotation_request_payment_option_finance复选框时(注意:它设置为只能同时检查两个复选框中的一个),占位符仍然是1300,它没有& #39; t改为1500。

有人能想出解决这个问题的方法吗?

3 个答案:

答案 0 :(得分:0)

您必须在事件中执行这些验证,例如change()

  

将事件处理程序绑定到"更改" JavaScript事件,或在元素上触发该事件。

*您可以在没有班级(.ckbox)的情况下使用选择器$("input[type='checkbox']")

执行此操作



$(".ckbox").change(function() {
  if ($('#quotation_request_payment_option_lease').is(':checked')) {
    $('#quotation_request_down_payment').attr('placeholder', "1300");
  } else if ($('#quotation_request_payment_option_finance').is(':checked')) {
    $('#quotation_request_down_payment').attr('placeholder', "1500");
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="quotation_request_payment_option_lease" class="ckbox"><br>
<input type="checkbox" id="quotation_request_payment_option_finance" class="ckbox">
<br>
<input type="text" id="quotation_request_down_payment" placeholder="default">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您必须处理onclick,以便启动要执行的检查。 像这样的东西。 向两个复选框添加一个类,然后添加该类的单击侦听器。

$('check_box_class').on('click', function(){
      if($('#quotation_request_payment_option_lease').is(':checked')) {
          $('#quotation_request_down_payment').attr('placeholder', "1300");
      }else if($('#quotation_request_payment_option_finance').is(':checked')) {
          $('#quotation_request_down_payment').attr('placeholder', "1500");
      }
});

答案 2 :(得分:0)

  

(注意:它被设置为只能检查两个复选框中的一个   立刻)

替换<input type="radio">元素的<input type="checkbox">个元素,每个元素的name属性设置为“quotation_request_down_payment” 。将两个class元素的<input type="text">属性设置为"quotation_request_down_payment"的{​​{1}},而不是html的单个元素。利用id display,相邻的兄弟选择器<input type="text">和{inline-blocknone元素css:checked切换为+ {1}}。

:not()
#quotation_request_payment_option_lease:checked
+ input + input {
  display: inline-block;
}

#quotation_request_payment_option_lease:not(:checked)
+ input + input,
#quotation_request_payment_option_lease:checked
+ input + input + input {
  display: none;
}