Javascript 选择选项时更改输入的占位符
我一直在尝试一些jQuery编码,但似乎不起作用。在Javascript 选择选项时更改输入的占位符,javascript,jquery,html,Javascript,Jquery,Html,我一直在尝试一些jQuery编码,但似乎不起作用。在#vat输入中,我需要更改占位符 <select id="VatExpense"> <option value="" disabled selected></option> <option value="0"></option> <option value="1"></option> <
#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">
您可以这样做:
(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()
您可以尝试以下方法:
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);
});
jsiddle:您应该使用
数据-
属性,而不是值来确定费率
HTML:
费用类型
电话
公共交通及的士
电脑耗材
生存
海外旅行
然后在jQuery中读取它们,并相应地更改占位符
脚本:
<script type="text/javascript">
$(function(){
$("#VatExpense").change(function(){
$("#vat").attr("placeholder", $(this).find(":selected").data("rate") + "%");
});
});
</script>
$(函数(){
$(“#VAT费用”).更改(函数(){
$(“#vat”).attr(“占位符”,$(this).find(“:selected”).data(“rate”)+“%”;
});
});
问题出在哪里?而且value属性应该是唯一的!但是如果文本属性不重要,那么您可以这样做。在哪里尝试一些jQuery编码代码?我需要在选择选项时更改#vat输入占位符。当我选择一个value=0的选项时,#vat的占位符应该改为20%,如果value=1,则改为0%@Legendsdo你想用原生js还是手头有jQuery?我想这是一个比较好的地方。不是吗?
<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>
<script type="text/javascript">
$(function(){
$("#VatExpense").change(function(){
$("#vat").attr("placeholder", $(this).find(":selected").data("rate") + "%");
});
});
</script>