iPad禁用选择无选择的jQuery [英] ipad disable select options w/o jquery

查看:62
本文介绍了iPad禁用选择无选择的jQuery的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有一种方法,插件或代码片段可用于制作

 < select>< option disable = 禁用 > ....< /选项>< /选择> 

safari上的选项将被禁用吗?



  function getSelectedValues(ids){

var selectedValues = []
,$ selected = $('。selector')。children('option:selected');

$ selected.each(function(){
if(this.value!= 0){
if(ids == true){
selectedValues.push (this.value +' - '+ $(this).parent()。attr('id'));
} else {
selectedValues.push(this.value);
}
}
});
返回selectedValues; $'


$ b函数clearDisabled(){
$('。selector')。children(':disabled')。attr('disabled',false) ;
}

function disableSelected(selectedValues,id){

sv = selectedValues || [];

if(id === true){
var selectedIds = [];
var selectedVals = [];

$ .each(selectedValues,function(key,value){
values = value.split(' - ');

selectedVals.push(values [ 0]);
selectedIds.push(values [1]);

}); ($ i

)(var i = 0; i $('。selector')。each(function(){
if($这个).attr('id')== selectedIds [i]){
$('option [value ='+ selectedVals [i] +']',this).not(':selected')。 attr('disabled',true);
}
});



$ b $(document).ready(function(){
$('。selector')。change(function( ){
selectedValues = getSelectedValues(true);
clearDisabled();
disableSelected(selectedValues,true);
});

var selectedValues = getSelectedValues(true);
disableSelected(selectedValues,true);
});

我做了一些挖掘,我意识到这是Safari移动版的限制...

解决方案

  $(select option [disable ='disable'])。attr(disabled , 禁用); 

或者如果您使用jquery 1.6或更高版本

  $(select option [disable ='disable'])。prop(disabled,true); 


There is a way,plugin or code snippet that i could use to make

<select><option disable="disable">....</option></select>

options in safari on ipad to be disabled ?

latter edit: here is the code:

     function getSelectedValues(ids) {

    var selectedValues = []
    , $selected = $('.selector').children('option:selected');       

    $selected.each(function(){  
        if(this.value != 0){
            if(ids == true){
                selectedValues.push(this.value+'-'+$(this).parent().attr('id'));
            } else {
                selectedValues.push(this.value);
            }
        }           
    });     
    return selectedValues;  
}


function clearDisabled() {
    $('.selector').children(':disabled').attr('disabled', false);
}

function disableSelected(selectedValues,id) {

    sv = selectedValues || [];

    if(id === true){
        var selectedIds  = [];
        var selectedVals = [];

        $.each(selectedValues, function(key, value) { 
            values = value.split('-');

            selectedVals.push(values[0]);
            selectedIds.push(values[1]);

        });

        for (var i=0;i<selectedVals.length;i++) {
            $('.selector').each(function(){
                if($(this).attr('id') == selectedIds[i]){
                    $('option[value=' + selectedVals[i] + ']',this).not(':selected').attr('disabled', true);
                }
            });
        }
    }
}

$(document).ready(function(){
    $('.selector').change(function(){
        selectedValues = getSelectedValues(true);
        clearDisabled();
        disableSelected(selectedValues, true);
    });

    var selectedValues = getSelectedValues(true);
    disableSelected(selectedValues, true);
});

I did some digging and i realize that this is a limitation of safari mobile...

解决方案

$("select option[disable='disable']").attr("disabled","disabled");

or if you are using jquery 1.6 or higher

  $("select option[disable='disable']").prop("disabled",true);

这篇关于iPad禁用选择无选择的jQuery的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆