2015-05-18 104 views
0

在選自值中選擇的jquery muliselect框中刪除屬性不工作。沒有錯誤顯示在控制檯刪除選擇不工作

工作example

問題是

$( 「#mltyslct選項[值= ' 」+ foo的[I] +「']」) .prop(「selected」,false);

不是working.But代碼不被終止。

還試圖

$( 「#mltyslct選項[值= ' 」+ foo的[I] +「']」)removeAttr( 「選擇」)。

,但沒有改變

這裏是HTML代碼

<select id="mltyslct" multiple="multiple" size="5"> 
    <option value="A">AA</option> 
    <option value="B">AB</option> 
    <option value="C">AC</option> 
    <option value="1">11</option> 
    <option value="2">12</option> 
    <option value="3">13</option> 
</select> 

和js

$(document).ready(function() { 
    $("select").multiselect(); 
}); 

var strAppnd=''; 
var selectValue=''; 
var flag=true; 
$("#mltyslct").change(function() { 
var foo = []; 

$('#mltyslct :selected').each(function(i, selected){ 
     foo[i] = $(selected).val(); 
    }); 

for (var i = 0; i < foo.length; ++i) { 
    selectValue = foo[i].substring(0, 1); 
} 

    if(selectValue=="A"){   
     alert('alphabet'); 
     strAppnd=strAppnd+'A'; 
     selectValue='' 
     flag=false; 
    } 
    else if(selectValue=="1"){ 
     alert('number'); 
     if(flag==false){ 
     strAppnd=strAppnd+'1'; 
     } 
     selectValue='' 
    } 
    console.log('val of appndStrng:'+strAppnd.substring(0, 2)); 
     if(strAppnd.substring(0, 2)=='A1'|| strAppnd.substring(0, 2)=='1A'){ 

     for (var i = 0; i < foo.length; i++) { 

     $("#mltyslct option[value='"+foo[i]+"']").prop("selected", false); 
      console.log('inside Booom:'+foo[i]); 
     } 
    } 
}); 
+0

你有沒有檢查一下是不是要進去'如果(strAppnd.substring(0,2)== 'A1' || strAppnd。子(0,2)== '1A'){' – ketan

+0

@ketan它會內,如果條件和的console.log值顯示 –

+0

如果的console.log''$( 「#mltyslct選項[值='」 + FOO [我] +「']」)''那麼你會得到什麼? –

回答

1

這似乎是工作:

$(document).ready(function() { 
 
    $("select").multiselect(); 
 
}); 
 

 
var strAppnd = ''; 
 
var selectValue = ''; 
 
var flag = true; 
 
$("#mltyslct").change(function() { 
 
    var foo = []; 
 

 
    $('#mltyslct :selected').each(function(i, selected) { 
 
    foo[i] = $(selected).val(); 
 
    }); 
 

 
    for (var i = 0; i < foo.length; ++i) { 
 
    selectValue = foo[i].substring(0, 1); 
 
    } 
 

 
    if (selectValue == "A") { 
 
    alert('alphabet'); 
 
    strAppnd = strAppnd + 'A'; 
 
    selectValue = '' 
 
    flag = false; 
 
    } else if (selectValue == "1") { 
 
    alert('number'); 
 
    if (flag == false) { 
 
     strAppnd = strAppnd + '1'; 
 
    } 
 
    selectValue = '' 
 
    } 
 
    console.log('val of appndStrng:' + strAppnd.substring(0, 2)); 
 
    if (strAppnd.substring(0, 2) == 'A1' || strAppnd.substring(0, 2) == '1A') { 
 

 
    for (var i = 0; i < foo.length; i++) { 
 

 
     $("input[type='checkbox'][value='" + foo[i] + "']").prop("checked", false); 
 
     console.log('inside Booom:' + foo[i]); 
 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script> 
 
<script src="http://www.erichynds.com/examples/jquery-ui-multiselect-widget/src/jquery.multiselect.js"></script> 
 
<link rel="stylesheet" type="text/css" href="http://www.erichynds.com/examples/jquery-ui-multiselect-widget/jquery.multiselect.css"> 
 
<link rel="stylesheet" type="text/css" href="http://www.erichynds.com/examples/jquery-ui-multiselect-widget/jquery.multiselect.css"> 
 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css"> 
 
<select id="mltyslct" multiple="multiple" size="5"> 
 
    <option value="A">AA</option> 
 
    <option value="B">AB</option> 
 
    <option value="C">AC</option> 
 
    <option value="1">11</option> 
 
    <option value="2">12</option> 
 
    <option value="3">13</option> 
 
</select>

+0

它不工作 –

+0

在其瀏覽器中測試你這個? –

+0

Mozilla的火狐 –

1

$( '#mltyslct:選擇')。removeAttr( 「選擇」) ;