setAttribute(string name, string
value):增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。
1、样式问题
setAttribute(“class”,
value)中class是指改变”class”这个属性,所以要带引号。
vName代表对样式赋值。
例如:

———————GRID拖拽行的实例代码 
单行拖拽—————————————

通过字符串拼接,将所有的输入框中的内容,用“1234235#34634234#123525”这样的格式拼接。
网页端代码:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

var input = document.createElement(“input”);
input.setAttribute(“type”, “text”);
input.setAttribute(“name”, “q”);
input.setAttribute(“class”,bordercss);

//创建第一个GRID
var firstGrid = new Ext.grid.GridPanel({
ddGroup : ‘secondGridDdGroup’,//这里是第二个GRID的ddGroup
store       : firstGridStore,
enableDragDrop : true,//True表示启动对于GridPanel中选中行的拖动行为
……其他属性省略
});

<form>
<table>
<tr><th>手机:</th>
    <td style=”padding:10px 0;”>
    <input type=”hidden” name=”user.mobile” value=”124213#243463″
id=”mobile”/>
    <div id=”mobile_s_div”>
    <input type=”text” id=”mobile_t” name=”mobile_t”
value=”%{#session.user.mobile}” onchange=”checkMobilephone(this)”
onkeyup=”checkMobilephone(this)”/>
    <span></span>
    </div>
    <div id=”mobile_div”></div>
    <input type=”submit” onclick=”return addinput(‘mobile_s_div’,
‘mobile_div’, ”)” value=’再添加一个’ ></input>
    </td>
</tr>
</table>
</form>

输出时:<input type=”text” name=”q”
class=”bordercss”>,即,input控件具有bordercss样式属性
注意:class属性在W3C
DOM中扮演着很重要的角色,但由于浏览器差异性仍然存在。
使用setAttribute(“class”,
vName)语句动态设置Element的class属性在firefox中是行的通的,但在IE中却不行。因为使用IE内核的浏览器不认识”class”,要改用”className”;
同样,firefox 也不认识”className”。所以常用的方法是二者兼备:

//创建第二个GRID
var secondGrid = new Ext.grid.GridPanel({
ddGroup : ‘firstGridDdGroup’,//这里是第一个GRID的ddGroup
store       : secondGridStore,
enableDragDrop : true,//True表示启动对于GridPanel中选中行的拖动行为
……其他属性省略
});

js代码:

复制代码 代码如下:

//创建第一个GRID的ddGroup
var firstGridDropTargetEl =
firstGrid.getView().el.dom.childNodes[0].childNodes[1];
var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl,
{
ddGroup    : ‘firstGridDdGroup’,//和第二个GRID的ddGroup相同
copy        : true,
notifyDrop : function(ddSource, e, data){
   function addRow(record, index, allItems) {
    var foundItem = secondGridStore.find(‘name’, record.data.name);
    if (foundItem == -1) {
     firstGridStore.add(record);
     firstGridStore.sort(‘name’, ‘ASC’);
     ddSource.grid.store.remove(record);
    }
   }
   Ext.each(ddSource.dragData.selections ,addRow);
   return(true);
}
)};

复制代码 代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注