iT邦幫忙

0

新手VB.NET提問-如何寫得更簡短或是優化?

  • 分享至 

  • twitterImage
<tr id="PN1">
    <td><asp:TextBox ID="User編號_1" runat="server"></asp:TextBox>
        <script>
            $("#User編號_1").blur(function () {
                $("#User編號_1").val($("#回廠批號").val() + "-001")
            });
        </script>
    </td>
    <td><asp:TextBox ID="Use_A批號_1" runat="server"></asp:TextBox></td>
    <td><asp:TextBox ID="Use_B批號_1" runat="server"></asp:TextBox></td>
    <td><asp:TextBox ID="Use_C批號_1" runat="server"></asp:TextBox></td>
</tr>
<tr id="PN2">
    <td><asp:TextBox ID="User編號_2" runat="server"></asp:TextBox>
        <script>
            $("#User編號_2").blur(function () {
                $("#User編號_2").val($("#回廠批號").val() + "-002")
            });
        </script>
    </td>
    <td><asp:TextBox ID="Use_A批號_2" runat="server"></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_A批號_2").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_A批號_1").val())
                }
            })
        </script>
    </td>
    <td><asp:TextBox ID="Use_B批號_2" runat="server"></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_B批號_2").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_B批號_1").val())
                }
            })
        </script>
    </td>
    <td><asp:TextBox ID="Use_C批號_2" runat="server"></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_C批號_2").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_C批號_1").val())
                }
            })
        </script>
    </td>
</tr>
<tr id="PN3">
    <td><asp:TextBox ID="User編號_3" runat="server"></asp:TextBox>
        <script>
            $("#User編號_3").blur(function () {
                $("#User編號_3").val($("#回廠批號").val() + "-003")
            });
        </script>
    </td>
    <td><asp:TextBox ID="Use_A批號_3" runat="server" ></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_A批號_3").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_A批號_2").val())
                }
            })
        </script>
    </td>
    <td><asp:TextBox ID="Use_B批號_3" runat="server"></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_B批號_3").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_B批號_2").val())
                }
            })
        </script>
    </td>
    <td><asp:TextBox ID="Use_C批號_3" runat="server"></asp:TextBox>
        <script>
            //若空值給前一筆資訊
            $("#Use_C批號_3").blur(function () {
                if ($(this).val() == "") {
                    $(this).val($("#Use_C批號_2").val())
                }
            })
        </script>
    </td>
</tr>

上述原文,如tr id需要到PN100的話,要如何寫得更簡略一點或是優化

看更多先前的討論...收起先前的討論...
REX0713 iT邦新手 5 級 ‧ 2021-03-31 08:36:40 檢舉
TR ID=PN1與後續的不一樣
TR ID=PN2以後的都要有前一個PN內的資訊
jQuery prev()
........................ 真的要做到優雅,可能就得把自己剝離ASP.NET的世界了
REX0713 iT邦新手 5 級 ‧ 2021-03-31 13:23:48 檢舉
jQuery prev()
要如何寫ㄋ
可以大概寫一下嗎
抱歉只看到script的部分,
tr tb 重複產生可以用 asp:Repeater
抓前一筆可以分class 用jQuery selector撈同class .prev()
如果真的要指定ID 應該要寫成 $("#<%= Use_C批號_3.ClientID %>")
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-04-01 09:43:39

全部不要寫

如果我沒讀錯的話
<tr id="PN2" style="display: none">是整列不會顯示的

如果 不顯示 也 不給使用者輸入資料
那麼就根本不用寫這段程式碼

萬一真的須要這些資料
就全部在後台 sever 端自己轉一轉就好了
要多複雜就多複雜
不用在前端來麻煩自己

REX0713 iT邦新手 5 級 ‧ 2021-04-01 09:54:14 檢舉

大大
先對您說聲感謝,再說聲抱歉
<tr id="PN2" style="display: none">
這段是因為其他條件達成時,程式會將它改為顯示

嗯,我還是一樣的答案
撇開為什麼要這麼寫的原因
如果這處理邏輯沒有資料時,採用前一列的值(加-00x)是必要的
問題就只剩下「要在前端寫」或「在後端寫」
如果是我,我會寫在後端
因為
前端我不會簡化
/images/emoticon/emoticon25.gif

我要發表回答

立即登入回答