JavaScript:根据从“选择输入”中选择的值启用/禁用“文本输入”
我写这段代码是为了在选择输入中选择现金支付时禁用文本输入。如果选择了信用卡付款,我还想启用文本输入。但我甚至无法用JavaScript完成启用JavaScript:根据从“选择输入”中选择的值启用/禁用“文本输入”,javascript,jquery,html,Javascript,Jquery,Html,我写这段代码是为了在选择输入中选择现金支付时禁用文本输入。如果选择了信用卡付款,我还想启用文本输入。但我甚至无法用JavaScript完成启用 <input type="text" readonly="true" class="credit_card_number" id="inputWarning" name="credit_card_number"/> HTML: JavaScript: 通过将disabled属性设置为disabled,元素将被禁用。如果将此属性设置为空字符
<input type="text" readonly="true" class="credit_card_number" id="inputWarning" name="credit_card_number"/>
HTML:
JavaScript:
通过将disabled属性设置为disabled,元素将被禁用。如果将此属性设置为空字符串,元素将再次被启用。请尝试:
function enableElements()
{
if($('#payment-type').val() == "cash"){
$('#inputWarning').attr('disabled', 'true');
}
else $('#inputWarning').attr('disabled', 'false');
}
注意:在问题中,3个选项都有相同的id。使用不同的属性来标识 使用jQuery:
function enableElements()
{
var str = $("#payment_type").val();
if(str == 'Cash')
$('#inputWarning').attr('readonly', true);
else if(str == 'amex' || str == 'master' || str == 'visa')
$('#inputWarning').removeAttr('readonly');
}
试试这个脚本。我使用了jquery。确保添加jquery库
<script>
function enableElements()
{
var type = $('#payment_type').val();
if(type == 'amex' || type == 'master' || type == 'visa')
{
$("#inputWarning").attr("readonly", true);
}
else
{
$("#inputWarning").attr("readonly", false);
}
</scrip
这会奏效的。但我建议将只读改为attr:disabled,我认为对用户来说更清晰。那样的话,检查一下
脚本/jQuery
function enableElements() {
if ($("#payment_type").val() == 'cash') {
$("#inputWarning").prop('readonly', true);
console.log('cash');
}
if ($("#payment_type").val() == 'amex' || $("#payment_type").val() == 'master' || $("#payment_type").val() == 'visa') {
$("#inputWarning").prop('readonly', false);
console.log('other');
}
};
请尝试$'inputWarning'.attr'disabled','false';这里只有一个文本输入。对于如此简单的东西,没有必要使用jQuery。无论如何,它是用jQuery标记的!这个问题有一个jquery标签,所以我使用了jquery。我已经看到很多刚刚开始学习javascript的人使用jquery时甚至没有意识到它不是纯javascript;我想@sauceord可能就是其中之一。老实说,我更喜欢PHP,只要我需要一些漂亮的东西,比如日期和时间选择器,我就会使用JavaScript或jQuery。因此,我对自己缺乏JavaScript知识表示歉意:OP的输入中有一个只读属性,因此它不可写。注意:有问题的是,3个选项都有相同的id。使用不同的属性来标识@Paritosh抱歉。把他们换成班级。我可能在玩推特引导时忘记了一些基本知识。修正!:我想我可能会坚持@Sergio的解决方案。它一开始就奏效了。现在定制它。无论如何,谢谢你
function enableElements()
{
var e = document.getElementById("payment_type");
var str = e.options[e.selectedIndex].value;
if(str == 'Cash')
document.getElementById('inputWarning').setAttribute("readonly", "true");
else if(str == 'amex' || str == 'master' || str == 'visa')
document.getElementById('inputWarning').setAttribute("readonly", "false");
}
function enableElements()
{
var str = $("#payment_type").val();
if(str == 'Cash')
$('#inputWarning').attr('readonly', true);
else if(str == 'amex' || str == 'master' || str == 'visa')
$('#inputWarning').removeAttr('readonly');
}
<script>
function enableElements()
{
var type = $('#payment_type').val();
if(type == 'amex' || type == 'master' || type == 'visa')
{
$("#inputWarning").attr("readonly", true);
}
else
{
$("#inputWarning").attr("readonly", false);
}
</scrip
function enableElements() {
if ($("#payment_type").val() == 'cash') {
$("#inputWarning").prop('readonly', true);
console.log('cash');
}
if ($("#payment_type").val() == 'amex' || $("#payment_type").val() == 'master' || $("#payment_type").val() == 'visa') {
$("#inputWarning").prop('readonly', false);
console.log('other');
}
};