首次更改后避免更改选择标记

时间:2016-07-15 06:45:17

标签: javascript jquery html

考虑我有以下选择标记:

<select id="select_val">
<option>This is first</option>
<option>This is second</option>
</select>

现在我想要的是,我希望选择存在但是我们不应该进一步改变它。 例如,如果他选择选项2,即第二,他不能进一步改变它。我怎么能用jquery做到这一点。提前致谢

1 个答案:

答案 0 :(得分:3)

$('#select_val').change(function(){
    $(this).prop('disabled', true);
})

评论后修改:

如果您想要传递选定值并禁用选择,则有几种解决方案。现在,这取决于你使用AJAX还是简单的表单提交。 对于AJAX你可以这样做:

$('form').submit(functiom(){
    $('#select_val').prop('disabled', false);
    var data = $(this).serialize();
    $('#select_val').prop('disabled', true);

    $.ajax({
        url : 'some_url',
        data : data
        // ... other parameters here
    });
});

如果是简单的表单提交,那么我不会将禁用切换为关闭,因为用户可以通过按下转义键然后更改选择来停止发送表单。然后另一种方法可以创建隐藏的输入,如:

$('form').submit(functiom(){
    var select = $('#select_val');
    $(this).append('<input type="hidden" name="'+ select[0].name +'" value="'+ select.val() +'">');
});
相关问题