2013-01-09 31 views
2

我使用jQuery UI和jQuery 1.6+jQuery的buttonset不反映更新

當某個電臺被選中的幾個無線電buttonsets「是」另一個無線電被迫還檢查。

<input type="radio" name="111" class="set111a" id="111a" value="1" /> 
<input type="radio" name="111" class="set111b" id="111b" value="0" checked="checked" /> 

<input type="radio" name="112" class="set112a" id="112a" value="1" /> 
<input type="radio" name="112" class="set112b" id="112b" value="0" checked="checked" /> 

這裏是我用來試圖強制其他無線電檢查的jQuery代碼。

$("#112a").change(function() { 
    if ($("#112a").is(":checked")) { 
     $('#111a').prop("checked",true); 
     $("#111b").prop("checked",false); 
    } 
}); 

它確實有效,但只有當數據被檢查(通過提交表單)。這表明如果112是1,那麼111就是1.但是,問題是這樣的:'111'按鈕的實際可視部分仍然表明它被設置爲「NO」(或值0)。

回答

0

您的代碼適用於我。如果需要#111a,我可能會建議禁用無效單選按鈕#111b,否則它們可能會覆蓋您的手動強制。另外,當單選按鈕實際打開時,您只能在單選按鈕上觸發更改事件,因此您可能需要更寬的選擇器。

$("input").change(function() 
{ 
    if ($("#112a").is(":checked")) 
    { 
     $('#111a').prop("checked",true); 
     $('#111b').attr('disabled', 'disabled'); 
     $("#111b").prop("checked",false); 
    } 
    else 
    { 
     $('#111b').attr('disabled', null); 
    } 
}); 
0

嘗試,這是你想要做的

HTML

<input type="radio" name="111" class="set111a" id="111a" value="1" /> 
<input type="radio" name="111" class="set111b" id="111b" value="0" checked="checked" /> 

<input type="radio" name="112" class="set112a" id="112a" value="1" /> 
<input type="radio" name="112" class="set112b" id="112b" value="0" checked="checked" /> 

<input id="btn" type="button" value="Click after change"/> 

JS

$("#112a").change(function() { 
    if ($("#112a").is(":checked")) { 
     $('#111a').click(); 
    } 
}); 

$("#btn").click(function() { 
    alert($("#111a").is(":checked")); 
}); 

Demo here

0

你需要調用刷新對buttonset使UI更新

$("#radio").buttonset(); // <-- whatever element you are wrapping the radio buttons in 
$("#112a").change(function() { 
    if ($("#112a").is(":checked")) { 
     $('#111a').prop("checked",true); 
     $("#111b").prop("checked",false); 
    } 
    $("#radio").buttonset('refresh'); // <-- refresh the buttonset 
}); 

FIDDLE

這裏給button api

鏈接