2017-06-30 9 views
0

私はテーブルの最後の行をクローンできるようにjクエリスクリプトを作成しましたが、2つのカラムをクローンで空にしたいと思います。私はフィールドのうちのどれかを完全に空にすることしかできません。これについての助けがあれば大いに感謝します。テーブルのjqueryクローンを使用しているときに特定のフィールドをクリアする

HTML:

<tbody> 
       <tr> 
        <td><input id="wInv_work_Id0" name="wInv_work_Id0" type="text" readonly="true" value="<%=rswork2.getString(1)%>"></td> 
        <td><select id="invTru_Type0" name="invTru_Type0" onchange="getTruckPlates(this.value, this.id)"> 
         <option disabled selected hidden value="">Select A Truck Type</option> 
         <%while(rsinvTru1.next()){%> 
         <option><%=rsinvTru1.getString(1)%></option> 
         <%}%> 
        </select> </td> 
        <td><select class="selectLp" id="invTru_LicensePlateNo0" name="invTru_LicensePlateNo0" > 
         <option disabled selected hidden value="">Select A Truck</option> 
        </select></td> 
        <td><select id="driver_emp_Id0" name="driver_emp_Id" > 
         <option disabled selected hidden value=""></option> 
        </select></td> 
        <!--<td><input id="driver_emp_Id0" name="driver_emp_Id0" value=" " readonly="true" type="text"></td>--> 
        <td><input id="wInv_JobNo0" name="wInv_JobNo0" type="text"></td> 
</tr> 
        </tbody> 

Jクエリクローン

$(document).ready(function() { 
      $("#btn_AddTruck").click(function() { 
       var $tableBody = $('#tbl_invTruck').find("tbody"), 
       $trLast = $tableBody.find("tr:last"), 
       $trNew = $trLast.clone(); 
       // Find by attribute 'id' 
       $trNew.find('[id]').each(function() { 
        var num = this.id.replace(/\D/g, ''); 
        if (!num) { 
         num = 0; 
        } 
        // Remove numbers by first regexp 
        this.id = this.id.replace(/\d/g, '') 
         // increment number 
         + (1 + parseInt(num, 10)); 
       }); 


       $trLast.after($trNew); 
       $trNew.find('select').val(''); 



      }); 
     }); 

私はクローンdriver_emp_Id0とwInv_JobNo0値はempty.Pleaseノートに設定することでそのことを伝えたいことができているのIDSクローンでクローンが1つ増えています

+0

あなたのHTMLは何のテーブルの行が示されなかった実用的なソリューションですか? – aduss

+0

私はそれらを入れて申し訳ありません –

+0

私の答えを更新し、今すぐ行くことが良いはずです。 – aduss

答えて

0

したがって、デフォルトでjqueryは入力選択項目を複製しないという問題があります。

ここでの2番目の回答は、私が下のフィドルに使用したものです。 Clone isn't cloning select valuesとほぼ同じです。基本的には、値をコピーする新しいクローン関数を作成します。ここで

https://jsfiddle.net/t953917v/3/

$(cols[cols.length - 1]).find('select, input').val(""); 
$(cols[cols.length - 2]).find('select, input').val(""); 
+0

私はこれを試しましたが、私は1つの選択フィールドと最後の2つのフィールドの両方である1つの入力フィールドだけをクリアしようとしているところで、すべての入力フィールドをクリアします。提案していただきありがとうございます、あなたは努力が大いに感謝する時間。 –

+0

@JeremeySamaroo申し訳ありませんが、最初は質問を理解できませんでした。私が今投稿した解決策はそのトリックです。 – aduss

関連する問題