javascript
  • jquery
  • 2016-09-01 4 views 0 likes 
    0

    以下のコードを使用してjsonデータに基づいて動的tr/tdを作成しています。JavaScriptのラベル値を取得する方法

    for (i = 0; i < dataPoolJSON.length; i++) { 
    
        html += "<tr id ='row" + i + "' value ='" + dataPoolJSON[i].msisdn + "'><td><div class='group'><label id='label" + i + "' for='numView" + dataPoolJSON[i].msisdn + "' class='ch-control'>"; 
        html += "<input id='numView" + dataPoolJSON[i].msisdn + "' type='radio' class='iradio_minimal' value='" + i + "' name='msisdnSelected'/>" + dataPoolJSON[i].msisdn; 
        html += "</label></div></td><td class='hidden-xs'><a id='viewUsage" + i + "' class='viewUsage' onclick='viewDataPoolUsage(this," + dataPoolJSON[i].msisdn + ");return false;' href=''>View Usage</a>"; 
        html += "<div class='pool-usage hidden'></div></td>"; 
        html += "<td><span id='dataAllowed" + i + "'><select>"; 
    
        if (dataPoolJSON[i].userSetting != null) { 
        html += "<option selected='selected' value='" + dataPoolJSON[i].userSetting.alertPercentageData1 + "'>" + dataPoolJSON[i].userSetting.alertPercentageData1 + "</option>"; 
        } 
        html += "</select></span></td></tr>"; 
    } 
    $('#data-pool tbody').html(html); 
    

    は、今のラジオボタンをクリックの上に私はMSISDN値と現在のオプション選択した値を取得する必要があるが、それは私に必要な答えを与えていません。現在のオプションは値を選択していますが、msisdnは表示されません。

    function submitNewDataUsagealerts() { 
    
        var jsonSubmitData = []; 
        var selectedData = document.getElementsByName("msisdnSelected"); 
        var i = selectedData.length-1; 
        for (j=0; j <= i; j++) { 
    
         if(selectedData[j].checked) { 
    
          var valueCurrent = $('#dataAllowed'+selectedData[j].value).find('option:selected').val(); 
          var row = $('#label'+selectedData[j].value).val(); 
          item = {} 
          item [0] = valueCurrent; 
          item [1] = selectedData[j].value; 
         } 
        } 
    } 
    

    答えて

    0

    var msg = document.getElementById('lbltxt').innerHTML; 
     
    alert(msg);
    <label id="lbltxt" style="display:none">Test</label>

    +0

    私はvar el = document.getElementById( '#label' + selectedData [j] .value); alert(el.textContent)を試していますが、エラーとしてelがnullになっています – user1111880

    +0

    今私は答えを更新しました。 – Developer

    0

    HTMLコード

    <label id="mylabel" /> 
    

    JSコード

    var lavelValue = $("#mylabel").text(); 
    
    0

    ラベルから「値」を取得するには、.val()ではなく.text()を使用します。

    var row = $('#label'+selectedData[j].value).text(); 
    

    あなたのラベルを入力し、必要なテキストを含んでいるとして、それが入力を含めずに参照できるように、あなたは、コンテナ内のテキストを置くことができますが:

    ラベルコードは、現在、削除(無関係なコードです):

    html += "<label id='label" + i + "' for='numView" + dataPoolJSON[i].msisdn + "' class='ch-control'>"; 
    html += "<input id='numView" + dataPoolJSON[i].msisdn + "' type='radio' class='iradio_minimal' value='" + i + "' name='msisdnSelected'/>"; 
    html += dataPoolJSON[i].msisdn; 
    html += "</label>"; 
    

    変化これ:

    html += "<label id='label" + i + "' for='numView" + dataPoolJSON[i].msisdn + "' class='ch-control'>"; 
    html += "<input id='numView" + dataPoolJSON[i].msisdn + "' type='radio' class='iradio_minimal' value='" + i + "' name='msisdnSelected'/>" ; 
    html += "<span>" + dataPoolJSON[i].msisdn + "</span>"; 
    html += "</label>"; 
    

    そしてY 、

    また
    var row = $('#label'+selectedData[j].value + ">span").text(); 
    

    すでにlabel for=を使用しているとして、ラベルのうち、入力を移動:私たちの選択はでき

    html += "<input id='numView" + dataPoolJSON[i].msisdn + "' type='radio' class='iradio_minimal' value='" + i + "' name='msisdnSelected'/>" ; 
    html += "<label id='label" + i + "' for='numView" + dataPoolJSON[i].msisdn + "' class='ch-control'>"; 
    html += dataPoolJSON[i].msisdn 
    html += "</label>"; 
    

    次に、あなたのセレクタが使用できます

    var row = $('#label'+selectedData[j].value).text(); 
    
    関連する問題