বুটস্ট্র্যাপে কীভাবে টগল বোতাম তৈরি করবেন


93

আমি মূলত এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্টে একটি ওয়েব অ্যাপ তৈরি করেছি, তারপরে এটি আবার বুটস্ট্র্যাপেও তৈরি করতে বলা হয়েছিল। আমি এটি সব ঠিকঠাক করে ফেলেছি, তবে ওয়েব অ্যাপে আমার টোগল বোতামগুলি ছিল যা আমি মূলত টগল বোতামগুলির পরিবর্তে রেডিওতে (মূলত চেকবক্স) বোতামে ফিরে এসেছি।

বোতামগুলির জন্য কোডটি হ'ল:

<label>
  Notifications
  <span class='toggle'>
    <input type='radio'
      class='notifications'
      name='notifications'
      id='notifications' />
  </span>
</li>
<label>
  Preview
  <span class='toggle'>
    <input type='radio'
      class='preview'
      name='preview'
      id='preview' />
  </span>
</li>

এবং জাভাস্ক্রিপ্ট এবং সিএসএস ফাইলগুলির সাথে এইচটিএমএল পৃষ্ঠা লিঙ্ক করা রয়েছে:

<script src = 'jqtouch.js'></script>
<script src="jquery.js"></script>
<script src="js/bootstrap.js"></script>
<link href="css/bootstrap.css" rel="stylesheet">
<link href="css/bootstrap-responsive.css" rel="stylesheet">

কোডটি পরিবর্তন করার কোনও উপায় আছে যাতে আমি টগল বোতামটি ফিরে পেতে পারি?


4
এখানে অনেকগুলি উদাহরণ রয়েছে twitter.github.com/bootstrap/javascript.html#buttons
এটি

আমি লিঙ্কটির প্রশংসা করি, তবে এটি যা আমি সন্ধান করছি তা নেই। আমার কাছে থাকা টগল বোতামটি আপনি দয়া করে আইফোনটিতে দেখতে চাইতেন, যেমন 'অন' / 'অফ' টাইপের মতো। যে জানার জন্য?
মেগান সিম

ঠিক আছে তাই এটি jqtouch.js এর সাথে সম্পর্কিত এবং নিজেই বুটস্ট্র্যাপ না করে আমার মনে হয়
এটি

4
ঠিক আছে. যদিও এটি সহজ, তবে এটি গিথুবের উপর on
মেগান সিম

4
LOL লোক আমি ফাইলগুলির একটি অসীম তালিকা দেখতে পাচ্ছি :) আপনি কি আরও সুনির্দিষ্ট হতে পারবেন না? : ডি
itme

উত্তর:


81

2013 থেকে প্রাথমিক উত্তর

একটি দুর্দান্ত (অফিশিয়াল) বুটস্ট্র্যাপ সুইচ উপলব্ধ

ক্লাসিক 2013 স্যুইচ

<input type="checkbox" name="my-checkbox" checked>
$("[name='my-checkbox']").bootstrapSwitch();

এটি সুইচ হিসাবে বেতার ধরণের বা চেকবক্স ব্যবহার করে । typeভি .১.৮ থেকে একটি বৈশিষ্ট্য যুক্ত করা হয়েছে।

সোথ কোডটি গিথুবে পাওয়া যায়

2018 থেকে নোট

আমি এখন those ধরণের পুরানো সুইচ বোতামগুলি এখনই ব্যবহার করার পরামর্শ দেব না, কারণ তারা মনে করে যে তারা সর্বদা ব্যবহারের কারণে সমস্যায় ভুগছে বলে মনে হচ্ছে অনেক লোক।

প্রতিক্রিয়া উপাদান ফ্রেমওয়ার্ক (বুটস্ট্র্যাপ সম্পর্কিত নয়, তবে বুটস্ট্র্যাপ গ্রিড এবং ইউআইতে যদিও সংহত করা যেতে পারে) থেকে এটির মতো আধুনিক স্যুইচগুলি দেখে নিন ।

অন্যান্য বাস্তবায়ন কৌনিক, দেখুন বা jQuery এর জন্য বিদ্যমান।

আধুনিক 2018 স্যুইচ

import '../assets/index.less'
import React from 'react'
import ReactDOM from 'react-dom'
import Switch from 'rc-switch'

class Switcher extends React.Component {
  state = {
    disabled: false,
  }

  toggle = () => {
    this.setState({
      disabled: !this.state.disabled,
    })
  }

  render() {
    return (
      <div style={{ margin: 20 }}>
        <Switch
          disabled={this.state.disabled}
          checkedChildren={'开'}
          unCheckedChildren={'关'}
        />
        </div>
      </div>
    )
  }
}

ReactDOM.render(<Switcher />, document.getElementById('__react-content'))

নেটিভ বুটস্ট্র্যাপ সুইচ

দেখুন ohkts11 এর উত্তর নিচে সম্পর্কে নেটিভ বুটস্ট্র্যাপ পরিবর্তন


19
আমি এই স্যুইচগুলি এড়াতে চাইতাম
ckarbass

4
এই সাইটটি আর বিদ্যমান নেই
w3bMak3r

আপনি ঠিক @ w3bMak3r, ডোমেনের নাম পরিবর্তন করা হয়েছে। আপডেট হয়েছে।
smonff

এটি একটি দুর্দান্ত প্লাগইন। ব্যবহার করা সহজ. তবে সাফারি 5.1.7 নিয়ে সমস্যা। আমি যখন একবার ক্লিক করি তখন অন্য একজন চলতে থাকে। কেউ কি এই সমাধান করতে পারেন?
সরওয়ার জাহান

4
বুটস্ট্র্যাপ টগল হ'ল আরেকটি বুটস্ট্র্যাপ ভিত্তিক বিকল্প
চার্লস পি।

58

আপনি যদি আপনার এইচটিএমএল পরিবর্তন করতে আপত্তি না করেন তবে আপনি এসটিতে data-toggleবৈশিষ্ট্যটি ব্যবহার করতে পারেন <button>বোতামের উদাহরণগুলির একক টগল বিভাগটি দেখুন :

<button type="button" class="btn btn-primary" data-toggle="button">
    Single toggle
</button>

4
চেকবক্স / রেডিও বিকল্পের মতো একক-টগলে অভ্যন্তরীণ চেকবক্স করার কোনও উপায় আছে কি ?
শিমি ওয়েটস্যান্ডলার 21

4
aria-pressed="true"রাষ্ট্র চেক করতে ব্যবহার করা যেতে পারে
ব্র্যালিওলো

31

চেকবক্স বা রেডিও বোতামের উপর ভিত্তি করে টগল বোতাম তৈরি করার জন্য বুটস্ট্র্যাপ 3-এ বিকল্প রয়েছে: http://getbootstrap.com/ javascript/# buttons

চেকবাক্স

<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-primary active">
    <input type="checkbox" checked> Option 1 (pre-checked)
  </label>
  <label class="btn btn-primary">
    <input type="checkbox"> Option 2
  </label>
  <label class="btn btn-primary">
    <input type="checkbox"> Option 3
  </label>
</div>

রেডিওর বোতামগুলি

<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-primary active">
    <input type="radio" name="options" id="option1" checked> Option 1 (preselected)
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option2"> Option 2
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option3"> Option 3
  </label>
</div>

এগুলি কাজ করার জন্য আপনাকে .btnবুটস্ট্র্যাপের জাভাস্ক্রিপ্ট দিয়ে সূচনা করতে হবে :

$('.btn').button();

চেকবক্স / রেডিও বিকল্পের মতো একক-টগলে অভ্যন্তরীণ চেকবক্স করার কোনও উপায় আছে কি ?
শিমি ওয়েটস্যান্ডলার 21

@ শিম্মি: আপনি যদি কেবল একটি বোতাম গ্রুপে একটি একক চেকবক্স রাখেন তবে আপনিও একই আচরণ পাবেন। আমি চেকবক্স-ব্যাকড একক-টগল পাওয়ার কোনও কম-ভার্বোজের উপায় সম্পর্কে অবগত নই।
স্ট্রিপলিং ওয়ারিয়র

7

আমি জাভাস্ক্রিপ্ট দিয়ে ম্যানুয়ালি 'সক্রিয়' শ্রেণিকে সক্রিয় করার চেষ্টা করছি been এটি একটি সম্পূর্ণ গ্রন্থাগারের মতো ব্যবহারযোগ্য নয়, তবে সহজ ক্ষেত্রে এটি যথেষ্ট বলে মনে হয়:

var button = $('#myToggleButton');
button.on('click', function () {
  $(this).toggleClass('active');
});

আপনি যদি সাবধানতার সাথে চিন্তা করেন, 'সক্রিয়' ক্লাসটি বোতামটি চাপার সময় বুটস্ট্র্যাপ দ্বারা ব্যবহৃত হয়, তার আগে বা পরে (আমাদের ক্ষেত্রে) নয়, সুতরাং একই শ্রেণীর পুনরায় ব্যবহারে কোনও বিরোধ নেই।

এই উদাহরণটি ব্যবহার করে দেখুন এবং এটি ব্যর্থ হলে আমাকে বলুন: http://jsbin.com/oYoSALI/1/edit?html,js , আউটপুট


4
আমি মনে করি ব্যবহারকারী এটি সম্পর্কে জিজ্ঞাসা করেননি, তবে আপনার প্রতিক্রিয়া আমার প্রশ্নের উত্তর দিয়েছে!
তেত্রি

আমি মনে করি এটি যাইহোক ব্যবহারকারীর পরবর্তী প্রশ্ন হত been
agগলই

5

আপনি যদি একটি ছোট কোড বেস রাখতে চান এবং আপনার কেবলমাত্র অ্যাপ্লিকেশনটির একটি ছোট অংশের জন্য টগল বোতামের প্রয়োজন হবে। আমি পরিবর্তে আপনার নিজের জাভাস্ক্রিপ্ট কোড বজায় রাখার পরামর্শ দিচ্ছি (অ্যাংুলারজ, জাভাস্ক্রিপ্ট, জ্যাকোয়ারি) এবং কেবল সরল সিএসএস ব্যবহার করুন।

ভাল টগল বোতাম জেনারেটর: https://proto.io/freebies/onoff/


3

বুটস্ট্র্যাপ টগল বোতামের জন্য এটি এখানে খুব দরকারী । কোড স্নিপেটে উদাহরণ !! এবং নীচে jsfiddle।

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
    <script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
    <input id="toggle-trigger" type="checkbox" checked data-toggle="toggle">
    <button class="btn btn-success" onclick="toggleOn()">On by API</button>
<button class="btn btn-danger" onclick="toggleOff()">Off by API</button>
<button class="btn btn-primary" onclick="getValue()">Get Value</button>
<script>
  //If you want to change it dynamically
  function toggleOn() {
    $('#toggle-trigger').bootstrapToggle('on')
  }
  function toggleOff() {
    $('#toggle-trigger').bootstrapToggle('off')  
  }
  //if you want get value
  function getValue()
  {
   var value=$('#toggle-trigger').bootstrapToggle().prop('checked');
   console.log(value);
  }
</script>
আমি আপনাকে উপরের কয়েকটি উদাহরণ দেখিয়েছি। আমি আসা করি এটা সাহায্য করবে. জেএস ফিডল এখানে রয়েছে সোর্স কোডটি গিটহাবের উপর উপলভ্য।

বুটস্ট্র্যাপ 4 এর জন্য 2020 আপডেট করুন

আমি 2020 -এ বুটস্ট্র্যাপ 4-টগল করার প্রস্তাব দিয়েছি ।

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

<link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/css/bootstrap4-toggle.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/js/bootstrap4-toggle.min.js"></script>

<input id="toggle-trigger" type="checkbox" checked data-toggle="toggle" data-onstyle="success">
<button class="btn btn-success" onclick="toggleOn()">On by API</button>
<button class="btn btn-danger" onclick="toggleOff()">Off by API</button>
<button class="btn btn-primary" onclick="getValue()">Get Value</button>

<script>
  //If you want to change it dynamically
  function toggleOn() {
    $('#toggle-trigger').bootstrapToggle('on')
  }
  function toggleOff() {
    $('#toggle-trigger').bootstrapToggle('off')  
  }
  //if you want get value
  function getValue()
  {
   var value=$('#toggle-trigger').bootstrapToggle().prop('checked');
   console.log(value);
  }
</script>


সংক্ষিপ্ত, এবং বিন্দুতে, দ্রুত এবং সহজ সমাধান, আপনি আমার দিনটি তৈরি করেছেন!
মেয়র স্পিজিটর

2

আপনি সিএসএস টগল স্যুইচ লাইব্রেরি ব্যবহার করতে পারেন। কেবল সিএসএস অন্তর্ভুক্ত করুন এবং জেএসকে নিজে প্রোগ্রাম করুন: http://ghinda.net/css-toggle-switch/bootstrap.html


4
যদিও এটি প্রশ্নের উত্তর দিতে পারে, কেবল এখানে একটি লিঙ্ক নয়, এখানে প্রকৃত তথ্য সরবরাহ করা ভাল। কেবল লিঙ্ক-উত্তর উত্তম হিসাবে বিবেচিত হয় না এবং সম্ভবত মুছে ফেলা হবে
এলেক্সেনাইড

তবে এটি কোনও ব্যাখ্যার লিঙ্ক নয়। এটি একটি আসল গ্রন্থাগারের লিঙ্ক, যা আমি আমার উত্তরে নাম উল্লেখ করছি। আপনি কি সত্যিই আমাকে এখানে পুরো লাইব্রেরি উত্স কোড পোস্ট করতে চান? আমার উত্তরটি কেবল তখনই ভুল হতে পারে যদি আমি কেবল এই লাইব্রেরির নাম উল্লেখ না করেই "এই লাইব্রেরিটি ব্যবহার করুন: [লিঙ্ক]" বললাম, তবে যেহেতু আমি নামটি উল্লেখ করছি, আমি মনে করি উত্তরটি উপযুক্ত কারণ লিংকটি খারাপ হয়ে গেলে তিনি / নামটি পরিচিত হওয়ায় তিনি অন্য কোথাও থেকে লাইব্রেরিটি ডাউনলোড করার চেষ্টা করতে পারেন।
ওএমএ

আপনাকে পুরো লাইব্রেরির উত্স কোড পোস্ট করতে হবে না, তবে খুব কমপক্ষে আপনাকে কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে কিছুটা অন্তর্দৃষ্টি দেওয়ার প্রয়োজন। "কেবল সিএসএস অন্তর্ভুক্ত করুন এবং জেএস নিজেই প্রোগ্রাম করুন" তেমন কিছুই হয় না এবং সম্ভবত ওপি বা অন্যান্য ব্যবহারকারীদের সহায়তা করতে পারে না।
ইলেক্সেনাইড

4
ঠিক আছে, এটি ব্যবহার করা সত্যিই সহজ! কেবলমাত্র সিএসএস কোডের একটি নমুনা অন্তর্ভুক্ত করুন এবং তারপরে আপনি যা করতে চান তা দিয়ে জেএসকে প্রোগ্রাম করুন। আসল জেএস প্রোগ্রামিং সম্পর্কে আমি মন্তব্য করতে পারছি না, যেহেতু মূল পোস্টারটি টগল বোতামটি ব্যবহার করার সময় কোনও নির্দিষ্ট ক্রিয়াকলাপ করার জন্য জিজ্ঞাসা করেনি, তবে আমি এর সম্পর্কে আর কী বলতে পারি? এছাড়াও, গৃহীত উত্তরকে ঠিক হিসাবে বিবেচনা করা হয় কেন? এটি একটি "লিঙ্ক-ওয়ান" উত্তর! (এটি কেবল বলে "এটি সাহায্য করে কিনা তা নিশ্চিত নয় তবে একটি দুর্দান্ত (আনুষ্ঠানিক) বুটস্ট্র্যাপ সুইচ উপলব্ধ available এটি যদিও রেডিওর প্রকারগুলি ব্যবহার করে")) উত্তরটি ঠিক আছে কেন? আপনি সেখানে কেবলমাত্র লিংক প্রকৃতি সম্পর্কে মন্তব্য করেননি।
ওএমএ



-1

যদি কেউ এখনও একটি সুন্দর স্যুইচ / টগল বোতামটি সন্ধান করছে, আমি রিকের পরামর্শ অনুসরণ করে এবং এর চারপাশে একটি কৌনিক নির্দেশিকা, কৌণিক-সুইচ তৈরি করেছি । উইন্ডোজ স্টাইলযুক্ত স্যুইচটিকে প্রাধান্য দেওয়ার পাশাপাশি, উপরে ডাউনলোড করা কৌণিক-বুটস্ট্র্যাপ-সুইচ এবং বুটস্ট্র্যাপ-স্যুইচের একসাথে উল্লিখিত তুলনায় মোট ডাউনলোডটি আরও অনেক ছোট (2 কেবি বনাম 23 কেবি মিনিফাইড সিএসএস + জেএস)।

আপনি নিম্নলিখিত হিসাবে এটি ব্যবহার করবে। প্রথমে প্রয়োজনীয় জেএস এবং সিএসএস ফাইল অন্তর্ভুক্ত করুন:

<script src="./bower_components/angular-switch/dist/switch.js"></script>
<link rel="stylesheet" href="./bower_components/angular-switch/dist/switch.css"></link>

এবং এটি আপনার কৌণিক অ্যাপে সক্ষম করুন:

angular.module('yourModule', ['csComp'
    // other dependencies
]);

এখন আপনি নিম্নলিখিত হিসাবে এটি ব্যবহার করতে প্রস্তুত:

<switch state="vm.isSelected" 
    textlabel="Switch" 
    changed="vm.changed()"
    isdisabled="{{isDisabled}}">
</switch>

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.