你能告诉我在这里做错了什么吗?
我想在Selection使用第二个选项(Treibstoffverbrauch in Liter)时禁用输入字段。
$(document).ready(function() {
$('select[name="Kalkulationsart"]').on('change', function() {
var eins = $(this).val();
if (eins == "Kalkulation per Treibstoffverbrauch in Liter") {
$('#VerbrauchinL').attr('disabled', 'disabled');
} else {
$('#VerbrauchinL').removeAttr('disabled');
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="KATitle">Kalkulationsart</p>
<select name="Kalkulationsart" id="Kalkulationsart" size="1" type="text">
<option value="0">Kalkulation per Verbrauch/100km</option>
<option value="others">Kalkulation per Treibstoffverbrauch in Liter</option>
</select>
<p id="KMTitle" for="VerbrauchinL">Kraftstoffverbrauch in Liter/100km</p>
<input type="number" name="Verbrauch in L" id="VerbrauchinL" onkeyup="TKPJ()">
&#13;
答案 0 :(得分:0)
当您使用$(this).val()
时,它会返回value
元素的option
属性。因此,您需要将其与0
或others
进行比较。
请参阅下面的代码:
$(document).ready(function() {
$('select[name="Kalkulationsart"]').on('change', function() {
var eins = $(this).val();
console.log(eins);
if (eins == "others") {
$('#VerbrauchinL').attr('disabled', 'disabled');
} else {
$('#VerbrauchinL').removeAttr('disabled');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="KATitle">Kalkulationsart</p>
<select name="Kalkulationsart" id="Kalkulationsart" size="1" type="text">
<option value="0">Kalkulation per Verbrauch/100km</option>
<option value="others">Kalkulation per Treibstoffverbrauch in Liter</option>
</select>
<p id="KMTitle" for="VerbrauchinL">Kraftstoffverbrauch in Liter/100km</p>
<input type="number" name="Verbrauch in L" id="VerbrauchinL" onkeyup="TKPJ()">
答案 1 :(得分:0)
您的<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.3/Rx.js"></script>
值与您比较的值不同(select
。
others
$(document).ready(function() {
$('#Kalkulationsart').on('change', function() {
$('#VerbrauchinL').prop('disabled', $(this).val() == "others");
});
});
答案 2 :(得分:0)
您的代码似乎没问题,您需要检查复选框(others
)中的值而不是使用的标签(Kalkulation per Treibstoffverbrauch in Liter
)。
我更改了应用属性disabled
的方式,我们可以在true
和false
之间切换,以应用/取消应用该属性。
$(document).ready(function() {
$('select[name="Kalkulationsart"]').on('change', function() {
var eins = $(this).val();
if (eins === "others") {
$('#VerbrauchinL').attr('disabled', true);
} else {
$('#VerbrauchinL').attr('disabled', false);
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="KATitle">Kalkulationsart</p>
<select name="Kalkulationsart" id="Kalkulationsart" size="1" type="text">
<option value="0">Kalkulation per Verbrauch/100km</option>
<option value="others">Kalkulation per Treibstoffverbrauch in Liter</option>
</select>
<p id="KMTitle" for="VerbrauchinL">Kraftstoffverbrauch in Liter/100km</p>
<input type="number" name="Verbrauch in L" id="VerbrauchinL" onkeyup="TKPJ()">
&#13;
答案 3 :(得分:0)
将“每升级的Treibstoffverbraph中的Kalkulation”更改为“其他人” 如果在选项中提供值,则val()给出值