मैं ड्रॉप डाउन मेनू को अधिकतम चिह्न इनपुट फ़ील्ड में जो भी संख्या डालता हूं, उसे सीमित करने का प्रयास कर रहा हूं। ई.जी. यदि आप अधिकतम अंक इनपुट फ़ील्ड में 10 डालते हैं तो अंक फ़ील्ड में ड्रॉप डाउन मेनू 10 . तक सीमित है

मैंने विनिमय का उपयोग करने की कोशिश की, लेकिन यह पता नहीं लगा सका कि मैंने ड्रॉप डाउन मेनू बनाने के लिए बनाए गए लूप में अधिकतम चिह्न फ़ील्ड में जो नंबर डाला है उसका उपयोग कैसे करें

$(document).ready(function ()  {
    load();
});

function load(){
    $("#txtNoOfRec").focus();

    $("#btnNoOfRec").click(function () {
        $("#AddControll").empty();
        var NoOfRec = $("#txtNoOfRec").val();

        if(NoOfRec > 0) {
            createControll(NoOfRec);
        }
    });
}



function createControll(NoOfRec) {
    var tbl = "";

    tbl = "<table>"+
               "<tr>"+
                   "<th> Section </th>"+
                   "<th> Max </th>"+
                   "<th> Comment </th>"+
                   "<th> Marks </th>"+
               "</tr>";

    for (i=1; i<=NoOfRec; i++) {
        tbl += "<tr>"+
                        "<td>"+
                            "<input type='text' id='txtSection' placeholder='Section' autofocus/>"+
                        "</td>"+
                        "<td>"+
                            "<input type='text' id='txtMax' placeholder='Max' />"+
                        "</td>"+
                         "<td>"+
                            "<input type='text' id='txtComment' placeholder='Comment' />"+
                        "</td>"+
                        "<td>"+
                            "<select id='ddlMarks'>";
        for (let a = 0; a <= 100; a++) {
          tbl += "<option>" + a + "</option>";

        }
        tbl += "</select>"+
                        "</td>"+
                    "</tr>";
    }
    tbl += "</table>";

    $("#AddControll").append(tbl);

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="dvMain">
    <label id="lblNoOfRec"> Enter No Of Rows</label>
    <input type="text" id="txtNoOfRec"/>
    <input type="button" value="CREATE" id="btnNoOfRec" />
</div>
<br>
<div id="AddControll">
</div>
3
SamH1999 10 फरवरी 2020, 22:21
आप चाहते हैं कि ddlMarks में आपके इनपुट के समान ही <option> हो? अपनी स्थिति के अनुसार NoOfRec का उपयोग करके बस लूप करें जैसा आपने ऊपर किया था। मार्क्स कॉलम, वह जगह है जहाँ आप इनपुट के समान मात्रा में आइटम चाहते हैं? पंक्तियाँ पहले से ही सही ढंग से बनाई गई हैं
 – 
Huangism
10 फरवरी 2020, 22:28
मैं चाहता हूं कि ड्रॉप डाउन मेनू वही हो जो आप अधिकतम अंक इनपुट फ़ील्ड में फ़ॉर्म में इनपुट करते हैं, न कि वह जो आपने इनपुट फ़ील्ड में रखा है जो पंक्तियों की संख्या बनाता है
 – 
SamH1999
11 फरवरी 2020, 09:58
अद्यतन उत्तर देखें
 – 
Huangism
11 फरवरी 2020, 19:00

1 उत्तर

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

आपको बस NoOfRec के माध्यम से लूप करने की आवश्यकता है जैसे आप टेबल पंक्तियों को बना रहे हैं

100 for (let a = 0; a <= 100; a++) { के माध्यम से लूप करने के बजाय आप केवल इनपुट नंबर for (var a = 1; a <= NoOfRec; a++) { के माध्यम से लूप करते हैं।

अपडेट किया गया उत्तर

ओपी की टिप्पणियों के कारण, मैंने तालिका से उत्पन्न max फ़ील्ड से इनपुट के आधार पर ड्रॉपडाउन विकल्प निर्धारित करने के लिए कोड अपडेट किया है

$(document).ready(function() {
  load();
});

function load() {
  $("#txtNoOfRec").focus();

  $("#btnNoOfRec").click(function() {
    $("#AddControll").empty();
    var NoOfRec = $("#txtNoOfRec").val();

    if (NoOfRec > 0) {
      createControll(NoOfRec);
    }
  });
  
  $("#AddControll").on( "keyup", ".txtMax", function() {
    var $this = $(this);
    
    // get the input value
    var l = parseInt( $this.val() );
    
    // if input is a number then append items in dropdown
    if( typeof l == 'number' ) {
      // find the row parent tr and get the dropdown element then empty it first
      var $marks = $this.closest('tr').find('.ddlMarks');
      $marks.empty();
      
      // add dropdown items based on input
      for (var j = 0; j < l; j++) {
        $marks.append("<option>" + j + "</option>");
      }
    }
  } );
}

function createControll(NoOfRec) {
  var tbl = "";

  tbl = "<table>" +
    "<tr>" +
    "<th> Section </th>" +
    "<th> Max </th>" +
    "<th> Comment </th>" +
    "<th> Marks </th>" +
    "</tr>";

  for (i = 1; i <= NoOfRec; i++) {
    // ID must be unique, updated ID on inputs/select to use class instead
    tbl += "<tr>" +
      "<td>" +
      "<input type='text' class='txtSection' placeholder='Section' autofocus/>" +
      "</td>" +
      "<td>" +
      "<input type='text' class='txtMax' placeholder='Max' />" +
      "</td>" +
      "<td>" +
      "<input type='text' class='txtComment' placeholder='Comment' />" +
      "</td>" +
      "<td>" +
      "<select class='ddlMarks'>";
    for (var a = 0; a < 100; a++) {
      tbl += "<option>" + a + "</option>";
    }

    tbl += "</select>" +
      "</td>" +
      "</tr>";
  }
  tbl += "</table>";

  $("#AddControll").append(tbl);

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="dvMain">
  <label id="lblNoOfRec"> Enter No Of Rows</label>
  <input type="text" id="txtNoOfRec" />
  <input type="button" value="CREATE" id="btnNoOfRec" />
</div>
<br>
<div id="AddControll">
</div>
3
Huangism 12 फरवरी 2020, 17:01
मैं चाहता हूं कि ड्रॉप डाउन मेनू वही हो जो आप अधिकतम अंक इनपुट फ़ील्ड में फ़ॉर्म में इनपुट करते हैं, न कि वह जो आपने इनपुट फ़ील्ड में रखा है जो पंक्तियों की संख्या बनाता है
 – 
SamH1999
11 फरवरी 2020, 09:58
तालिका, अनुभाग, अधिकतम, टिप्पणियां और अंक (ड्रॉपडाउन) में कुछ फ़ील्ड हैं। कृपया निर्दिष्ट करें कि आप किस "अधिकतम चिह्न" फ़ील्ड का उल्लेख कर रहे हैं
 – 
Huangism
11 फरवरी 2020, 17:01
मैं चाहता हूं कि अंक ड्रॉप डाउन मेनू 0 से उस संख्या तक जाए जो आप अधिकतम क्षेत्र में डालते हैं
 – 
SamH1999
12 फरवरी 2020, 00:52