第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

jQuery禁用基于Radio選擇的SELECT選項(xiàng)(需要支持所有瀏覽器)

jQuery禁用基于Radio選擇的SELECT選項(xiàng)(需要支持所有瀏覽器)

胡子哥哥 2019-08-27 13:09:41
jQuery禁用基于Radio選擇的SELECT選項(xiàng)(需要支持所有瀏覽器)好的,在這里遇到一些麻煩,想在選擇收音機(jī)時(shí)禁用一些選項(xiàng)。選擇ABC時(shí),禁用1,2和3選項(xiàng)等...$("input:radio[@name='abc123']").click(function() {    if($(this).val() == 'abc') {       // Disable        $("'theOptions' option[value='1']").attr("disabled","disabled");       $("'theOptions' option[value='2']").attr("disabled","disabled");       $("'theOptions' option[value='3']").attr("disabled","disabled");    } else {       // Disbale abc's    }    });ABC: <input type="radio" name="abc123" id="abc"/>123: <input type="radio" name="abc123" id="123"/><select id="theOptions">   <option value="1">1</option>   <option value="2">2</option>   <option value="3">3</option>   <option value="a">a</option>   <option value="b">b</option>   <option value="c">c</option></select>不工作任何想法?更新:好的我啟用/禁用工作但是出現(xiàn)了一個(gè)新問題。我的選擇框的禁用選項(xiàng)僅適用于FF和IE8。我測試了IE6,而且殘疾人無法正常工作。我試圖使用hide()和show()也沒有運(yùn)氣?;旧衔倚枰[藏/禁用/刪除選項(xiàng)(適用于所有瀏覽器),并且如果選擇了其他無線電選項(xiàng)則能夠?qū)⑺鼈兲砑踊貋?,反之亦然。結(jié)論:感謝所有解決方案,他們中的大多數(shù)都回答了我原來的問題。對所有人提出了很多建議:)
查看完整描述

3 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

實(shí)現(xiàn)所需功能的正確方法是刪除選項(xiàng)。正如您發(fā)現(xiàn)的那樣,在瀏覽器中不支持禁用單個(gè)選項(xiàng)。我剛剛醒來,覺得自己喜歡編程,所以我掀起了一個(gè)小插件,可以根據(jù)收音機(jī)選擇的ID屬性輕松過濾選擇。雖然其他解決方案將完成工作,但如果您計(jì)劃在整個(gè)應(yīng)用程序中執(zhí)行此操作,這應(yīng)該會有所幫助。如果沒有,那么我想其他人偶然發(fā)現(xiàn)了這一點(diǎn)。這是你可以在某處隱藏的插件代碼:

jQuery.fn.filterOn = function(radio, values) {
    return this.each(function() {
        var select = this;
        var options = [];
        $(select).find('option').each(function() {
            options.push({value: $(this).val(), text: $(this).text()});
        });
        $(select).data('options', options);
        $(radio).click(function() {
            var options = $(select).empty().data('options');
            var haystack = values[$(this).attr('id')];
            $.each(options, function(i) {
                var option = options[i];
                if($.inArray(option.value, haystack) !== -1) {
                    $(select).append(
                    $('<option>').text(option.text).val(option.value)
                    );
                }
            });
        });            
    });};

以下是如何使用它:

$(function() {
    $('#theOptions').filterOn('input:radio[name=abc123]', {
        'abc': ['a','b','c'],
        '123': ['1','2','3']        
    });});

第一個(gè)參數(shù)是無線電組的選擇器,第二個(gè)參數(shù)是字典,其中鍵是要匹配的無線電ID,值是應(yīng)保留的選項(xiàng)值的數(shù)組。有很多事情可以做進(jìn)一步抽象,讓我知道你是否感興趣,我當(dāng)然可以這樣做。

這是它的實(shí)際演示。

編輯:另外,忘了添加,根據(jù)jQuery 文檔:

在jQuery 1.3 [@attr]樣式選擇器被刪除(它們之前在jQuery 1.2中被棄用)。只需從選擇器中刪除“@”符號,以便再次使用它們。


查看完整回答
反對 回復(fù) 2019-08-27
?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊


第一個(gè)問題是

$(this).val()

用它替換它

$(this).attr('id') == 'abc'

那么這不會奏效

$("'theOptions'..")

使用

$("#theOptions option[value='1']").attr('disabled','disabled') //to disable
$("#theOptions option[value='a']").attr('disabled','') //to ENABLE


查看完整回答
反對 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 937 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號