我想在将任何文本添加到另一个输入时禁用特定输入。尝试做的是这个 JS
$('#sPriceRewards').on('input', function() {
$(this).find('.inputReward').not(this).prop('disabled', this.value.length)});
HTML
<input type="text" name="sPriceRewards" id="sPriceRewards" value="" />
<input type="text" name="sReward1" value="" class="inputReward" />
TNX
答案 0 :(得分:3)
这是一个简单的逻辑:https://jsfiddle.net/p623brhL/4/
$('#sPriceRewards').on('input', function() {
if($(this).val().length)
$('.inputReward').prop('disabled', true);
else
$('.inputReward').prop('disabled', false);
});
答案 1 :(得分:2)
您需要修改选择器以定位下一个元素:
$('#sPriceRewards').on('input', function() {
$(this).next().prop('disabled', this.value.length);
});
<强> Working Demo 强>
答案 2 :(得分:0)
http://jsfiddle.net/p623brhL/3/现在有效。您试图在当前输入中找到另一个输入。但它不是当前输入的孩子
$('.inputReward').not(this).prop('disabled', this.value.length)});
答案 3 :(得分:0)
$('#sPriceRewards').on('change', function() {
if(this.value.length > 0)
$(this).siblings('.inputReward').attr('disabled','disabled');
else
$(this).siblings('.inputReward').removeAttr('disabled');
});