第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何使部分不可編輯的表單元格與內(nèi)聯(lián) JavaScript 函數(shù)兼容?

如何使部分不可編輯的表單元格與內(nèi)聯(lián) JavaScript 函數(shù)兼容?

冉冉說 2022-09-23 17:00:41
所以,幾天前,我發(fā)布了這個(gè)問題(幾乎相同),并收到了非常有用的回復(fù)。但是,為了制作表格計(jì)算器,我已經(jīng)將某個(gè)列的每個(gè)表格行設(shè)置為將表格轉(zhuǎn)換為計(jì)算器,當(dāng)我嘗試為自己應(yīng)用它時(shí),這有點(diǎn)弄亂了原始問題的答案(JavaScript將單位“kg”與數(shù)字一起解析,并將總和顯示為“NaN”)。id同樣,每個(gè)單元格內(nèi)部都顯示了一個(gè)可見的文本框,上面有答案,看起來有點(diǎn)丑陋。我目前的代碼有不顯示為文本框但仍然可編輯的單元格,這在我看來使體驗(yàn)更加時(shí)尚(我知道它沒有功能差異,但外觀讓我很煩惱!下面是我希望代碼看起來像什么的模型。我試圖使數(shù)字/輸入顯示在文本框的右側(cè),但仍然在單位的左側(cè)(“kg”)。以下是我試圖創(chuàng)建的內(nèi)容的模型(除了數(shù)字在右邊)。這是我的代碼:<head>  <style>    table {      border: 1px solid black;      border-collapse: collapse;      font-family: Arial, sans-serif;      margin: 5px;      width: 100%;    }        th, td {      border: 1px solid black;      border-collapse: collapse;      font-family: Arial, sans-serif;      margin: 5px;      padding: 5px;    }  </style> </head><body>  <table>    <tr>      <th>header1</th>      <th>header2</th>    </tr>    <tr>      <td>entry1</td>      <td id="entry1" oninput="myFunction()">4000</td>    </tr>     <tr>      <td>entry2</td>      <td id="entry2" oninput="myFunction()">200</td>    </tr>    <tr>      <td>Total</td>      <td id="total"></td>    </tr>  </table>         <script type="text/javascript">    document.getElementById("entry1").contentEditable = true;    document.getElementById("entry2").contentEditable = true;          function myFunction()  {      var entry1 = document.getElementById("entry1").innerText;      var entry2 = document.getElementById("entry2").innerText;            var total2 = parseInt(entry1) + parseInt(entry2);            document.getElementById("total").innerHTML = total2;    }            myFunction();  </script>  </body>     展開代碼段如您所見,它將右列中的數(shù)字相加,并在最后一行中顯示總和。但是,我希望在側(cè)面顯示單位(例如“kg”),這些單位不可編輯,更重要的是,在JavaScript函數(shù)中不會被解析為數(shù)字。如果丑陋的文本框輪廓也沒有出現(xiàn)在單元格內(nèi),那就太好了。這可能嗎?任何答案都值得贊賞!
查看完整描述

2 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)您調(diào)用空字符串時(shí),您會得到。若要解決此問題,請將以下語句從NaNparseInt


var total = parseInt(jack2) + parseInt(john2) + parseInt (joe2);


var total = (parseInt(jack2) || 0) + (parseInt(john2) || 0) + (parseInt (joe2) || 0);

要將單位與右列中的數(shù)字一起顯示,請?jiān)谠貎?nèi)添加 2 個(gè)元素,然后使用 flexbox 正確對齊它們。spantd


要使數(shù)字可編輯,請?jiān)诎瑪?shù)字的元素上添加屬性。 默認(rèn)情況下,包含該單元的 元素將不可編輯。contentEditablespanspan


function myFunction() {

  var jack2 = document.getElementById("jack").innerText;

  var john2 = document.getElementById("john").innerText;

  var joe2 = document.getElementById("joe").innerText;


  var total = (parseInt(jack2) || 0) + (parseInt(john2) || 0) + (parseInt(joe2) || 0);


  document.getElementById("total").innerHTML = total;

}


myFunction();

table {

  width: 100%;

}


table,

tr,

th,

td {

  border: 1px solid black;

  border-collapse: collapse;

  font-family: Arial, sans-serif;

  margin: 5px;

}


th,

td {

  padding: 5px;

}


td:last-child {

  display: flex;

  justify-content: space-between;

  border: none;

}


td:last-child span:first-child {

  flex-grow: 1;

  margin-right: 10px;

  outline: none;

  text-align: right;

}


#total {

  display: flex;

  justify-content: flex-end;

}

<table>

  <thead>

    <tr>

      <th>Person</th>

      <th>Weight</th>

    </tr>

  </thead>

  <tbody>

    <tr>

      <td>Jack</td>

      <td id="jack" oninput="myFunction()">

        <span contentEditable="true">4</span>

        <span>Kg</span>

      </td>

    </tr>

    <tr>

      <td>John</td>

      <td id="john" oninput="myFunction()">

        <span contentEditable="true">2</span>

        <span>Kg</span>

      </td>

    </tr>

    <tr>

      <td>Joe</td>

      <td id="joe" oninput="myFunction()">

        <span contentEditable="true">3</span>

        <span>Kg</span>

      </td>

    </tr>

    <tr>

      <td>Total</td>

      <td id="total"></td>

    </tr>

  </tbody>

</table>


查看完整回答
反對 回復(fù) 2022-09-23
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

為了避免結(jié)果為“NAN”,添加了一個(gè)if,我們檢查其中一個(gè)密封件是否為空“”,并將其替換為0。在編輯單元格中,添加了兩個(gè) div,一個(gè)用于編輯值,另一個(gè)用于添加文本“kg”。


<style>

      table {

        border: 1px solid black;

        border-collapse: collapse;

        font-family: Arial, sans-serif;

        margin: 5px;

        width: 100%;

      }


      th, td {

        border: 1px solid black;

        border-collapse: collapse;

        font-family: Arial, sans-serif;

        margin: 5px;

        padding: 5px;

      }

      .input_{

          width: 90%;

          float: left;

      }

      .peso{

          width: 10%;

          float: right;

      }

    </style>

    <table>

      <tr>

        <th>Person</th>

        <th>Weight</th>

      </tr>

      <tr>

        <td>Jack</td>

        <td>

            <div class="input_" id="jack" oninput="myFunction()">1</div>

            <div class="peso">kg</div>

        </td>

      </tr> 

      <tr>

        <td>John</td>

        <td>

            <div class="input_" id="john" oninput="myFunction()">2</div>

            <div class="peso">kg</div>

        </td>

      </tr>

      <tr>

        <td>Joe</td>

        <td>

            <div class="input_" id="joe" oninput="myFunction()">3</div>

            <div class="peso">kg</div>

        </td>

      </tr>

      <tr>

        <td>Total</td>

        <td id="total"></td>

      </tr>

    </table> 


    <script type="text/javascript">

      document.getElementById("jack").contentEditable = true;

      document.getElementById("john").contentEditable = true;

      document.getElementById("joe").contentEditable = true;


      function myFunction()  {

        var jack2 = document.getElementById("jack").innerText;

        var john2 = document.getElementById("john").innerText;

        var joe2 = document.getElementById("joe").innerText;

        if(jack2==""){

            jack2=0;

        }

        if(john2==""){

            john2=0;

        }

        if(joe2==""){

            joe2=0;

        }

        var total2 = parseInt(jack2) + parseInt(john2) + parseInt (joe2);


        document.getElementById("total").innerHTML = total2+" kg";

      }


        myFunction();

    </script>


查看完整回答
反對 回復(fù) 2022-09-23
  • 2 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號