示例我有10个文本框,每个文本框都有相同的属性,具有不同的值,例如,他们有一个具有不同值的属性data-same
,我的代码中有类似的内容
{{1}我希望使用每个文本框的属性过滤结果。我该怎么办?我正在考虑做这样的事情$('#test').each(function(){
$(this).val();
});
但我不确定。
答案 0 :(得分:1)
使用attr()
$('[data-same]').each(function(){
var attributeValue = $(this).attr('data-same');
//do whatever you want with the value
});
此外,您的代码表明您具有多个元素的相同ID。避免这种情况,改为使用类或属性。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="whatever"
/>
<View
android:layout_width="20dp"
android:layout_height="match_parent"
/>
</LinearLayout>
请参阅Why is it a bad thing to have multiple HTML elements with the same id attribute?
答案 1 :(得分:0)
$('#test').each(function(){
$(this).val($(this).attr("data-same") );
});
答案 2 :(得分:0)
好的如果我的假设是正确的,您希望获得具有相同属性的所有public class Service extends android.app.Service {
@Override
public void onCreate() {
super.onCreate();
Log.d("Service", "onCreate()");
Intent intent = new Intent();
sendBroadcast(intent);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
sendBroadcast(intent);
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
Log.d("Service", "onBind()");
return null;
}
}
,那么下面的代码将起作用,我建议保留一个唯一的textbox
:
对于每个元素,您可以尝试使用id
代替classname
:
class="test"
答案 3 :(得分:0)
尝试使用map
方法获取所有文本框值。
$(function(){
var textBoxValues = $('input[data-same]').map(function(){
return this.value
}).get()
})
希望这可以帮助你...
答案 4 :(得分:0)
你可以使用jQuery过滤方法。
$(".test").filter(function(){
if(parseInt($(this).attr('data-same')) == "somevalue")
return $(this);
});
注意:对于元素组使用类名,对单个元素使用id。