मेरे पास चेकबॉक्स का एक गतिशील सेट है जो पहले से ही चिह्नित है। जब मैं इसमें से एक पर क्लिक करता हूं तो नीचे दिए गए सभी चेकबॉक्स अनचेक किए जाने चाहिए और यदि फिर से उपरोक्त सभी चेकबॉक्स को फिर से चिह्नित किया जाए। क्या कोई है जो कृपया इस पर मेरी मदद कर सकता है?

धन्यवाद।

@for (int i = 0; i < Model.transportDate.Count(); i++)
{
                    <tr>
                        <td>
                            @Html.CheckBoxFor(Model => Model.transportDate[i].selection)
                        </td>
                        <td>
                            @Html.TextBoxFor(Model => Model.transportDate[i].Date)
                        </td>
                    </tr>
}

Overview of question

1
Alishah momin 28 मई 2018, 21:26

3 जवाब

सबसे बढ़िया उत्तर

आप इसे ग्राहक पक्ष पर javascript का उपयोग करके कर सकते हैं। उदाहरण देखें।

$('#tbl [type=checkbox]').click(function() {
  var $this = this; //save clicked chk
  if ($(this).is(':checked')) //nothing to do
    return;
  var uncheck = false;
  $(this).parents('table') //get container
    .find('[type=checkbox]') //get siblings
    .each(function() { //iterate
      if (this === $this) //found
        uncheck = true;
      if (uncheck)
        this.checked = false; //clear checkbox
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tbl">
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
  <tr>
    <td><input type="checkbox" checked="checked" /></td>
    <td>other</td>
  </tr>
</table>
2
Alex Kudryashev 28 मई 2018, 23:41

यदि चेकबॉक्स चेक किया गया है तो आप जावास्क्रिप्ट से जांच सकते हैं।

इसलिए, यदि चेकबॉक्स चेक किया गया है, तो दूसरों को अनचेक करें:

document.getElementById("checkbox").checked = true; document.getElementById("checkbox").checked = false;

0
Karamellwuerfel 28 मई 2018, 21:51

जब आप अपना चेकबॉक्स बनाते हैं, तो आपको उन्हें एक सरणी में संग्रहीत करने की आवश्यकता होती है और उन सभी के लिए समान ऑनक्लिक फ़ंक्शन का उपयोग करना होता है, जिसमें पैरामीटर सरणी में चेकबॉक्स की अनुक्रमणिका होता है।

जब उपयोगकर्ता उस पर क्लिक करता है, तो आपको केवल सरणी के माध्यम से लूप करने और आवश्यकतानुसार स्थिति बदलने की आवश्यकता होती है।

छद्म कोड नमूना:

let _checkboxesArray = [];
function createDynamicCheckboxes() {
  _checkboxesArray = [];
  for(let i = 0; i < Model.transportDate.Count(); i ++) {
    _checkboxesArray[i] = 'cb' + i;
    // create your checkbox and assign it the id we just stored.
    dCheckbox.id = _checkboxesArray[i];
    let li = i;
    dCheckbox.onClick = (function(index) {
      for (let j = 0; j < Model.transportDate.Count(); j ++) {
        document.getElementById(_checkboxesArray[j]).checked = j < index;
      }
    }(li));
  }
}
1
Pic Mickael 28 मई 2018, 22:16