我一直试图找到三个使用jQuery动态添加的输入(type = text)。我曾尝试使用package com.cwmlib.controls
{
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import mx.controls.ComboBox;
import mx.core.ClassFactory;
import mx.controls.List;
import mx.controls.listClasses.IListItemRenderer;
import mx.controls.listClasses.ListItemRenderer;
public class DisabledList extends List
{
public function DisabledList()
{
super();
this.itemRenderer = new ClassFactory(DisabledListItemRenderer);
}
private function itemDisable(event:MouseEvent):Boolean
{
var item:IListItemRenderer = mouseEventToItemRenderer(event);
if (item != null && item.data != null
&& ((item.data is XML && item.data.@enabled == 'false')
|| item.data.enabled==false || item.data.enabled=='false')
)
{
return true;
}
else
{
return false;
}
}
}
}
,package com.cwmlib.controls
{
import mx.controls.Label;
public class DisabledListItemRenderer extends Label
{
private var _enabled:Boolean = true;
public function DisabledListItemRenderer()
{
super();
}
override public function set data(value:Object):void
{
if (value != null && ((value is XML && value.@enabled == 'false')
|| value.enabled == false || value.enabled == 'false')
){
this._enabled = false;
}
else
{
this._enabled = true;
}
super.data = value;
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (!this._enabled) {
textField.setColor(getStyle("disabledColor"));
}
else
{
textField.setColor(getStyle("color"));
}
}
}
}
,.closest()
和.parents()
,但我失败了。
我也尝试过document.getElementsByName,但如果我创建了多组输入(可以动态添加,如前所述),它也不会返回正确的值。
我的代码如下:
.find()
任何帮助都会非常感激......
答案 0 :(得分:3)
使用jQuery( "[attribute='value']" )
选择器
affiliation_val = $( "input[name='affiliation']" ).val();
comments_val = $( "input[name='comments']" ).val();
role_val = $( "input[name='role']" ).val();
答案 1 :(得分:2)
正如@DBS所建议的那样,使用.each()
。
$('[name="role"]').each(function(index, element){
console.log( $(element).val() );
});
这将循环显示页面上当前名称为“role”的每个元素,并将其值打印到控制台。
如果您只需要找到元素(按照您在问题中的建议对其进行其他操作),那么您可以在element
循环中使用.each()
来处理每个元素
这是另一个想法。如果你知道元素的父元素(因为它听起来你在页面上有多个这些元素),并且对特定元素感兴趣,试试这个:
$('#myParentID [name="role"]');
这将仅选择role
内的#myParentID
输入。
答案 2 :(得分:1)
以下内容应作为您的选择器,更改"角色" accordiingly:
$( '#tableId input[name="role"]' ).val();
更详细地编辑(见下面的评论)