2017-01-30 27 views
1

私はブートストラップスイッチを使用し、異なるボタンを使用します。このオプションがオフで無効になっている(これは、ページのロードに未チェックだときや)、およびイネーブル(またはそれがチェックだときに、bootstrap-switch:変更時に​​他のオプションを無効にする/有効にする

<input type="checkbox" name="values[{$optionName}]" value="1" data-to-enable="values[optionName1],values[optionName5],values[optionName50],values[optionName100],values[optionName333]" /> 

私がしたい:私はこのサンプルのようなパラメータとして他の属性を与えることができ、変更をGivsページのロード時に)ここでチェック

+0

であるあなたがワン何のより多くのHTMLを提供することができますt?あなたはすでに試したjavascriptコードですか?そして、あなたが欲しいものを正確に記述してください、この瞬間に伝えるのは難しいです。 –

答えて

1

にしたいJavaScriptコードです:

$(function() { 

    var toggleSwitch = function(ev) { 
     var _this = $(ev.currentTarget); 
     var toChange = _this.data("to-enable").split(","); 
     var state = _this.bootstrapSwitch("state"); 

     $("input.switch").each(function(el, index) { 
      if($.inArray($(this).prop("name"), toChange) >= 0) { 
       $(this).bootstrapSwitch("disabled", state); 
      } 
     }); 
    }  

    $("input").bootstrapSwitch(); 
    $("input[id^='switchHandler']").each(function(){ 
     $(this).bootstrapSwitch("state", $(this).data("checked")); 
     $(this).on("switchChange.bootstrapSwitch", toggleSwitch); 
     $(this).trigger("switchChange.bootstrapSwitch"); 
    }); 

}); 

そして、ここでは作業jsfiddle

+0

それは素晴らしいことです。ありがとうございました。私はこれを変更しました:$( "[id^= switchHandler]")on( "switchChange.bootstrapSwitch"、function(){別のswitchHandlerを作ることができます。 /ボタンを有効にしてチェックしない/チェックしないでください。 – Koda

+0

Q:あなたは素晴らしいです。ありがとうございます。データを有効にしてスイッチを有効/無効にする場合は、pageloadのid = "switchHandler" ?この時点で、私はページロード時にswitchHandlerをチェックしたとき、オプションのデータを有効にする方法が間違っていた – Koda

+0

@ Kodaもう一度更新されました。ページが読み込まれると、スイッチは '$("あなたがこの振る舞いを逆にしたいのであれば 'state'変数'を否定するだけです( '!_this.bootstrapSwitch(" state ")') –

関連する問題