好的,这可能会多次询问我已经检查了所有解决方案但是无法理解它...请帮我解决这个问题。
HTML代码
var inputType = $('#form-main input[name="position"]').each(function(){
inputType = $(this).attr('id');
console.log('Data Types are : ' + inputType);
});
以下是循环代码。
WindowManager.LayoutParams params=new WindowManager.LayoutParams();
params.type = WindowManager.LayoutParams.TYPE_PHONE;
params.format = PixelFormat.RGBA_8888;
params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
params.width = WindowManager.LayoutParams.FILL_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;
windowManager= (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
windowManager.addview(new Banner(),params);
当console.log被放置在循环或函数内时,我得到[left,center,right]
如何在函数或循环外访问此结果。当console.log放在循环或函数之外时,我得到[object object]
答案 0 :(得分:1)
对于你,基于你对JavaScript(JQuery)的了解,我会在循环之外创建一个变量并填充它,例如:
var dataType = [];
$('#form-main input[name="position"]').each(function(){
dataType.push($(this).attr('id'));
});
console.log('Data Types are : ' + dataType);
有很多方法可以显着缩短和优化您的代码,如果您想要一些更高级的选项,请检查this page,但这个答案应该符合您的目的,并有助于了解更好的内容。
关于你应该在JavaScript here中声明变量的位置也是一个很好的辩论。
<强>更新强>
$('#form-main input[name="position"]').each(function(){
var value = $(this).attr('id');
if (value != null) // if the value isn't null
dataType.push(value);
});
console.log('Data Types are : ' + dataType);
同样有更好的方法可以做到这一点,但这是最容易阅读和向IMO学习的内容,如果你有一个快速的谷歌搜索,有很多关于这些主题的材料
答案 1 :(得分:0)
相反,您应该使用.map()
通过从元素值创建数组来获取值:
var dataType = $('#form-main input[name="some-type"]').map(function() {
return this.id;
}).get();
console.log(dataType);
并使用原生js方法.map()
:
var els = document.querySelectorAll('#form-main input[name="some"]'),
dataType = [].map.call(els, function(el) {
return el.id;
});
document.querySelector('pre').innerHTML = JSON.stringify(dataType);
&#13;
<form id='form-main' method='post' action='#'>
<input name='some' id='a'>
<input name='some' id='b'>
<input name='some' id='c'>
<input name='some' id='d'>
</form>
<pre></pre>
&#13;
答案 2 :(得分:0)
在您的情况下,您可以使用此功能;
$('input[name=radioName]:checked', '#myForm').val();
但是使用以下方法很简单;
获取名为“myForm”的表单的所选radioName项的值:
Try this. It will definelty help you out.
CREATE OR REPLACE FUNCTION f2(
v_nume employees.last_name%TYPE DEFAULT 'Bell')
RETURN NUMBER
IS
salariu employees.salary%type;
outretvalue NUMBER(2) := 0;
lv_cnt PLS_INTEGER;
BEGIN
SELECT salary INTO salariu FROM employees WHERE last_name = v_nume;
RETURN salariu;
EXCEPTION
WHEN NO_DATA_FOUND THEN
outretvalue := 1;
WHEN TOO_MANY_ROWS THEN
SELECT COUNT(1) INTO lv_cnt FROM employees WHERE last_name = v_nume;
INSERT INTO info
( no_lines
) VALUES
( lv_cnt
);
RETURN 2;
WHEN OTHERS THEN
RETURN 3;
END f2;
以下是一个示例:Fiddle