属性禁用和HTML

时间:2012-11-06 13:17:25

标签: javascript jquery

这似乎是一件相当简单的事情,但这个问题在很长一段时间里给我带来了一些麻烦。当选择列表值为“select”时,我有一个“禁用”的提交按钮。我想要的是html('选择区域')......但是按钮被禁用。这是代码:

<script>
//setting the variable for first-shown select value
var selVar = $('#areaSel').val();
//disabling submit if first-shown value is 'select'
if(selVar == 'select'){
    $('#areaSubmit').prop('disabled',true);
}
//setting the variable if the selection changed & disabling submit if = 'select'
$('#areaSel').change(function(){
    var selVar = $('#areaSel').val();
    if(selVar == 'select'){
       $('#areaSubmit').prop('disabled',true);
    //removing 'disabled' submit if selection !== select
    }else{
        $('#areaSubmit').prop('disabled',false);
    }
});
    //giving the message to 'select an area
$('#areaSubmit').click(function(){
    var selVar = $('#areaSel').val();
    if(selVar == 'select'){
    $('#areaE').html('select an area');
    }
});
</script>

我只是试图让消息“选择一个区域”出现,而不是在点击时提交。问题是选择“选择”时按钮被禁用。在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

当提交按钮被禁用时,点击事件不会被激活;因此标签的html不会发生变化。移动代码相对于更改&#39; areaE&#39;的内容对于其他地方,可能是您选择的更改事件

http://jsfiddle.net/QFWYE/1/

var selVar = $('#areaSel').val();
//disabling submit if first-shown value is 'select'
if(selVar == 'select'){
    $('#areaSubmit').prop('disabled',true);
}
//setting the variable if the selection changed & disabling submit if = 'select'
$('#areaSel').change(function(){
    var selVar = $('#areaSel').val();
    if(selVar == 'select'){
       $('#areaSubmit').prop('disabled',true);
         $('#areaE').html('select an area'); 
    //removing 'disabled' submit if selection !== select
    }else{
        $('#areaSubmit').prop('disabled',false);
         $('#areaE').html(''); 
    }
});
    //giving the message to 'select an area
$('#areaSubmit').click(function(){
    var selVar = $('#areaSel').val();
});

答案 1 :(得分:0)

你走了,我相信这就是你的追求。

//giving the message to 'select an area
$('#areaSubmit').click(function(event){
    event.preventDefault();
    selVar = $('#areaSel').val();
    if(selVar == 'select'){
    $('#areaE').html('select an area');
    }else{$('#form').submit();
    }
});