选择“选项”时更改输入的占位符

Change placeholder of input when I select Option

本文关键字:输入 占位符 选项 选择      更新时间:2023-09-26

我一直在尝试一些jQuery编码,但似乎不起作用。在#vat输入中,我需要更改占位符。

    <select id="VatExpense">
        <option value="" disabled selected></option>
        <option value="0"></option>
        <option value="1"></option>
        <option value="0"></option>
        <option value="0"></option>
        <option value="1"></option>
    </select>
   <input type="text" id="vat" placeholder="Rate">

您应该使用data-属性而不是value来确定费率。

演示小提琴

HTML:

<select id="VatExpense">
    <option data-rate="20" value="" disabled selected>Expense Type</option>
    <option data-rate="20" value="0">Telephone</option>
    <option data-rate="0" value="1">Public Transport & Taxis</option>
    <option data-rate="20" value="2">Computer Consumables</option>
    <option data-rate="20" value="3">Subsistence</option>
    <option data-rate="0" value="4">Overseas Travel</option>
</select>

然后在jQuery中读取它们,并相应地更改占位符。

脚本:

<script type="text/javascript">
   $(function(){
      $("#VatExpense").change(function(){
         $("#vat").attr("placeholder", $(this).find(":selected").data("rate") + "%");
      });
   });
</script>

你可以试试这个:

Jquery:

$("#VatExpense").on("change", function() {
    var vatExpense = $("#VatExpense option:selected").val();
    var vatPlaceholder = "Rate";
    if (vatExpense == 0) {
        vatPlaceholder = "Standard rate 20%";
    } else if (vatExpense == 1) {
        vatPlaceholder = "Zero Rate 0%";
    }
    $("#vat").attr("placeholder", vatPlaceholder);
});

Js报价:http://jsfiddle.net/ghorg12110/kzmL0e1j/

你可以这样做:

(function() {
    var placeholders = {
        'value_':'Rate',
        'value_0':'Standard rate 20%',
        'value_1':'Zero Rate 0%'
    };
    $("#VatExpense").on('change', function(e) {   
       $("#vat").prop('placeholder', placeholders['value_' + $(this).val() ]);        
    });
})();

在下面这样尝试此处演示使用attr()

$('#VatExpense').change(function(){    
var selectedval = $(this).val();    
if(selectedval == 0){
  $('#vat').attr('placeholder','Standard rate 20%');
}else if(selectedval == 1){
 $('#vat').attr('placeholder','Zero Rate 0%');
}    
});