考虑我有以下选择标记:
<select id="select_val">
<option>This is first</option>
<option>This is second</option>
</select>
现在我想要的是,我希望选择存在但是我们不应该进一步改变它。 例如,如果他选择选项2,即第二,他不能进一步改变它。我怎么能用jquery做到这一点。提前致谢
答案 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() +'">');
});