以前學Perl是羨慕其散漫不拘乃至天馬行空的語意邏輯,但始終我只是個Perl的入門者。jQuery也有這種傾向,先記錄我在SelectBoxes這個plugin遇到的怪事之二、三。

  第一件,SelectBoxes似乎會cache,假設<select>是用addOption新增,順序是<option 1>、<option 2>、<option 3>,若是用jQuery的empty()或html('')清空,再用addOption新增<option 3>、<option 4>,結果<option 4>會出現在<option 1>的第一個位置,<option 3>在第三個位置,而<option 2>的位置卻是空著一列。若使用removeOption(/./)清空,則無此現象。

  第二件,利用JSON作為addOption資料來源,如:addOption(json[i].ID, json[i].NAME)。清空後,再假設是這麼寫的:addOption(data[i].emp_id, data[i].emp_name),結果會是後一筆一直蓋掉前一筆,最終只顯示最後一筆。除非json object的屬性名稱和上次一模一樣才能正常顯示,估計也是cache的問題。

  jQuery始終還有許多Syntax Sugar還不會用,然後笨笨的一個個踹。比方說我要取得<tr>下每個<td>內容:

var tr = ${'#table_id tr'};
tr.each(function() {
    var itemId = $(this).children('td:first').text(); // 取得第一欄<td>文字</td>
    var enableFlag = $(this).children('td:eq(4)').children('input').attr('checked');

    //取得第五欄的<td><input type=”checkbox” value=”Y” />
});

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jemmy 的頭像
    Jemmy

    Jemmy Walker

    Jemmy 發表在 痞客邦 留言(0) 人氣()