검색결과 리스트
JQuery에 해당되는 글 36건
- 2014.06.23 [HightCharts] HightCharts Demo and API Documents
- 2014.06.05 [jQuery] jQuery form validation
- 2014.05.07 [jQuery] jquery-validation document
- 2014.05.06 [jQuery] jQuery-File-Upload
- 2013.11.18 [jQuery] jQuery Form validator
- 2013.10.15 [jQuery] jQuery.serializeObject 만들기
- 2013.01.02 [jQuery] DataTables (table plug-in)
- 2012.12.06 [jQuery] jQuery, attr(), the selected property, IE6 bug
- 2012.12.06 [jQuery] jQuery 구 버전 다운받기
- 2012.11.07 [jQuery] jQuery의 핵심 Selector Sizzle
- 2012.11.07 [jQuery] jQuery 구조 분석
- 2012.08.30 [jQuery] val 메소드 getter, setter 구별법
- 2012.08.08 [jQuery] PlugIn 만들기
- 2012.08.01 [jQuery] .attr("disabled") .attr("readonly") 리턴값
- 2012.07.27 [jQuery] 클릭중복 방지 blockUI plugIn
- 2012.07.26 [jQuery] .each $.each 순회중 continue, break 하기
- 2012.07.26 tistory syntaxhighlighter 설정 1
- 2012.07.26 [javascript] 동적으로 .js 파일을 인클루드 하는 함수
- 2012.07.23 [jQuery] ajaxForm 구현
- 2012.06.18 [jQuery] Plugin Validation
- 2012.06.14 [Eclipse] jQuery jquery-1.X.X.min.js 포함시 에러 필터링 하기
- 2012.02.21 [dynatree] TREE TO TREE DRAG AND DROP 예제
- 2012.02.08 [javascript] JSON.stringify() 메소드 만들어 보기
- 2012.02.08 [jQuery] jQuery.type() 함수 구현해보기
- 2012.02.08 [dynatree] dynatree (jQuery 기반의 tree-plugin)
- 2012.02.07 [jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com
- 2012.01.30 [jQuery] jQuery Number formatter plugin
- 2011.12.19 [Javascript] Enter 키 클릭시 전송기능 구현
- 2011.12.19 [jqGrid] Grid DataSet 만들기 MultiSelect 포함
- 2011.12.19 [jQuery] $.ajax json type으로 보내기
글
Demo: http://www.highcharts.com/demo
API Reference: http://api.highcharts.com/highcharts
'JavaScript > HighCharts / D3' 카테고리의 다른 글
[D3] 시각화 프레임워크 D3js (0) | 2014.06.23 |
---|
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery plugin jmp3 (0) | 2014.06.25 |
---|---|
[jQuery] jquery-validation document (0) | 2014.05.07 |
[jQuery] jQuery-File-Upload (0) | 2014.05.06 |
[jQuery] jQuery Form validator (0) | 2013.11.18 |
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery plugin jmp3 (0) | 2014.06.25 |
---|---|
[jQuery] jQuery form validation (0) | 2014.06.05 |
[jQuery] jQuery-File-Upload (0) | 2014.05.06 |
[jQuery] jQuery Form validator (0) | 2013.11.18 |
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery form validation (0) | 2014.06.05 |
---|---|
[jQuery] jquery-validation document (0) | 2014.05.07 |
[jQuery] jQuery Form validator (0) | 2013.11.18 |
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
[jQuery] DataTables (table plug-in) (0) | 2013.01.02 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jquery-validation document (0) | 2014.05.07 |
---|---|
[jQuery] jQuery-File-Upload (0) | 2014.05.06 |
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
[jQuery] DataTables (table plug-in) (0) | 2013.01.02 |
[jQuery] jQuery, attr(), the selected property, IE6 bug (0) | 2012.12.06 |
트랙백
댓글
글
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();$.each(a, function() {
if ( o[this.name] ) {
if ( !o[this.name].push ) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery-File-Upload (0) | 2014.05.06 |
---|---|
[jQuery] jQuery Form validator (0) | 2013.11.18 |
[jQuery] DataTables (table plug-in) (0) | 2013.01.02 |
[jQuery] jQuery, attr(), the selected property, IE6 bug (0) | 2012.12.06 |
[jQuery] jQuery 구 버전 다운받기 (0) | 2012.12.06 |
트랙백
댓글
글
링크 : http://www.datatables.net/
링크 : http://www.datatables.net/release-datatables/examples/basic_init/zero_config.html
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery Form validator (0) | 2013.11.18 |
---|---|
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
[jQuery] jQuery, attr(), the selected property, IE6 bug (0) | 2012.12.06 |
[jQuery] jQuery 구 버전 다운받기 (0) | 2012.12.06 |
[jQuery] jQuery의 핵심 Selector Sizzle (0) | 2012.11.07 |
트랙백
댓글
글
링크 : http://asyncweb.blogspot.kr/2012/04/jquery-attr-selected-property-ie6-bug.html
링크 : http://csharperimage.jeremylikness.com/2009/05/jquery-ie6-and-could-not-set-selected.html
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery.serializeObject 만들기 (0) | 2013.10.15 |
---|---|
[jQuery] DataTables (table plug-in) (0) | 2013.01.02 |
[jQuery] jQuery 구 버전 다운받기 (0) | 2012.12.06 |
[jQuery] jQuery의 핵심 Selector Sizzle (0) | 2012.11.07 |
[jQuery] jQuery 구조 분석 (0) | 2012.11.07 |
트랙백
댓글
글
jQuery 홈페이지에서 현재 2012-12-06일 기준으로 1.6 버전까지 다운로드 할 수 있습니다.
이전버전이 필요한 분들에게 요긴할 것 같습니다.
링크 : http://www.oldapps.com/jquery.php
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] DataTables (table plug-in) (0) | 2013.01.02 |
---|---|
[jQuery] jQuery, attr(), the selected property, IE6 bug (0) | 2012.12.06 |
[jQuery] jQuery의 핵심 Selector Sizzle (0) | 2012.11.07 |
[jQuery] jQuery 구조 분석 (0) | 2012.11.07 |
[jQuery] val 메소드 getter, setter 구별법 (0) | 2012.08.30 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery, attr(), the selected property, IE6 bug (0) | 2012.12.06 |
---|---|
[jQuery] jQuery 구 버전 다운받기 (0) | 2012.12.06 |
[jQuery] jQuery 구조 분석 (0) | 2012.11.07 |
[jQuery] val 메소드 getter, setter 구별법 (0) | 2012.08.30 |
[jQuery] PlugIn 만들기 (0) | 2012.08.08 |
트랙백
댓글
글
링크 : http://codefactory.kr/2011/12/05/jquery-sourcecode-analysis-javascript-study-1/
링크 : http://codefactory.kr/2011/12/05/jquery-sourcecode-analysis-javascript-study-2/
링크 : http://codefactory.kr/2011/12/06/jquery-sourcecode-analysis-javascript-study-3/
링크 : http://codefactory.kr/2011/12/06/jquery-sourcecode-analysis-javascript-study-jquery-extend/
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery 구 버전 다운받기 (0) | 2012.12.06 |
---|---|
[jQuery] jQuery의 핵심 Selector Sizzle (0) | 2012.11.07 |
[jQuery] val 메소드 getter, setter 구별법 (0) | 2012.08.30 |
[jQuery] PlugIn 만들기 (0) | 2012.08.08 |
[jQuery] .attr("disabled") .attr("readonly") 리턴값 (0) | 2012.08.01 |
트랙백
댓글
글
결국 arguments의 length 속성을 이용한다.
val: function( value ) {
var hooks, ret, isFunction,
elem = this[0];
if ( !arguments.length ) {
if ( elem ) {
hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
return ret;
}
ret = elem.value;
return typeof ret === "string" ?
// handle most common string cases
ret.replace(rreturn, "") :
// handle cases where value is null/undef or number
ret == null ? "" : ret;
}
return;
}
isFunction = jQuery.isFunction( value );
return this.each(function( i ) {
var self = jQuery(this), val;
if ( this.nodeType !== 1 ) {
return;
}
if ( isFunction ) {
val = value.call( this, i, self.val() );
} else {
val = value;
}
// Treat null/undefined as ""; convert numbers to string
if ( val == null ) {
val = "";
} else if ( typeof val === "number" ) {
val += "";
} else if ( jQuery.isArray( val ) ) {
val = jQuery.map(val, function ( value ) {
return value == null ? "" : value + "";
});
}
hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
// If set returns undefined, fall back to normal setting
if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
this.value = val;
}
});
}
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery의 핵심 Selector Sizzle (0) | 2012.11.07 |
---|---|
[jQuery] jQuery 구조 분석 (0) | 2012.11.07 |
[jQuery] PlugIn 만들기 (0) | 2012.08.08 |
[jQuery] .attr("disabled") .attr("readonly") 리턴값 (0) | 2012.08.01 |
[jQuery] .each $.each 순회중 continue, break 하기 (0) | 2012.07.26 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery 구조 분석 (0) | 2012.11.07 |
---|---|
[jQuery] val 메소드 getter, setter 구별법 (0) | 2012.08.30 |
[jQuery] .attr("disabled") .attr("readonly") 리턴값 (0) | 2012.08.01 |
[jQuery] .each $.each 순회중 continue, break 하기 (0) | 2012.07.26 |
[jQuery] ajaxForm 구현 (0) | 2012.07.23 |
트랙백
댓글
글
<script type="text/javascript">
// 기존코드
if ( slt_SF_CLS.disabled == true ) {
}
// 위와 같은 코드를 아무생각 없이 jQuery를 이용해서 아래와 같이 변경했더니 안됐다.
// 이걸 어떻게 찾아 ㅡㅡ;
if ( $(slt_SF_CLS).attr("disabled") == true ) {
}
// 암튼 출력 해보면
$(slt_SF_CLS).attr("disabled", false);
alert($(slt_SF_CLS).attr("disabled")); // undefined
$(slt_SF_CLS).attr("disabled", true);
alert($(slt_SF_CLS).attr("disabled")); // disabled
// readonly attribute도 마찬가지 이다.
$(slt_SF_CLS).attr("readonly", false);
alert($(slt_SF_CLS).attr("readonly")); // udefined
$(slt_SF_CLS).attr("readonly", true);
alert($(slt_SF_CLS).attr("readonly")); // readonly
</script>
// HTML
<select id="slt_SF_CLS" name="slt_SF_CLS">
</select>
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] val 메소드 getter, setter 구별법 (0) | 2012.08.30 |
---|---|
[jQuery] PlugIn 만들기 (0) | 2012.08.08 |
[jQuery] .each $.each 순회중 continue, break 하기 (0) | 2012.07.26 |
[jQuery] ajaxForm 구현 (0) | 2012.07.23 |
[jQuery] Plugin Validation (0) | 2012.06.18 |
트랙백
댓글
글
링크 : http://malsup.com/jquery/block/
전 ajax 통신중 대용량 비동기 통신을 할때만 걸어놨습니다.
// 기본 셋팅
$.ajaxSetup({
type : 'POST',
async : false,
cache : false,
contentType : 'application/json; charset=utf-8',
dataType : 'json',
error : function(xhr,e) {
$.unblockUI();
if (xhr.status == 0) {
alert('You are offline!!\n Please Check Your Network.');
}
else if (xhr.status == 404) {
alert('Requested URL not found.');
}
else if (xhr.status == 500) {
alert('Internel Server Error.\n');
}
else if (e == 'parsererror') {
alert('Error.\nParsing JSON Request failed.');
}
else if (e == 'timeout') {
alert('Request Time out.');
}
else {
alert('Unknow Error.\n'+xhr.responseText);
}
},
beforeSend : function(xhr, setting) {
if ( setting && setting.async == true ) {
$.blockUI();
}
},
complete : function(xhr, e) {
$.unblockUI();
}
});//$.ajaxSetup({
트랙백
댓글
글
// 예)
var ADC = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$.each(ADC, function(i, rs) {
if ( rs == 5 ) {
return true; // for 문의 continue;와 같다.
}
else if ( rs == 8 ) {
return false; // for 문의 break;와 같다.
}
// ... 작업들
});
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] PlugIn 만들기 (0) | 2012.08.08 |
---|---|
[jQuery] .attr("disabled") .attr("readonly") 리턴값 (0) | 2012.08.01 |
[jQuery] ajaxForm 구현 (0) | 2012.07.23 |
[jQuery] Plugin Validation (0) | 2012.06.18 |
[jQuery] jQuery.type() 함수 구현해보기 (0) | 2012.02.08 |
트랙백
댓글
글
참고 : 다른 분것 참조를 했는데 링크를 읽어버렸습니다. ㅡㅡ;
위에 링크를 참조해서 span 태그의 whitepace 문제 수정
<script type="text/javascript">
<!--
;jQuery.noConflict(); // 다른 라이브러리와 충돌을 방지한다.
;(function($) { $(document).ready(function() {
//////////////////////////////////////////////////////////////////////////////////////
$("blockquote[class^=brush]").each( function() { //blokquote를 사용한 태그
var $this = $(this);
// 복사 붙여넣기 했을때 탭처리
$this.find("span[class*=Apple-tab-span]").replaceWith(function() {
return $(this).text();
});
// 편집창에서 직접 수정했을때 탭 처리
$this.find("p[style*=margin-left]").each(function() {
var $elem = $(this);
var style = $elem.attr("style");
var result = /\s*?margin-left:\s(\w+?)em;\s*?/gi.exec(style);
if ( result != null ) {
result = result[1];
}
var spaceCount = parseInt(result) * 2;
var spaceString = "";
for (var i = 0; i < spaceCount; i++) {
spaceString += " ";
}
$elem.removeAttr("style");
$elem.html(spaceString + $elem.html());
});
var temp = $this.html(); // 내용 복사
temp = temp.replace(/\n/gi, "");
temp = temp.replace(/<p><\/p>/gi, "");
temp = temp.replace(/<p><br\s*\/?><\/p>/gi, "\n"); // 줄바꿈
temp = temp.replace(/<P>(.*?)<\/P>/gi, "$1\n"); // 한줄끝
temp = temp.replace(/<br\s*\/?>/gi, "\n"); // 줄바꿈
temp = '<script type="syntaxhighlighter" class="' + $this.attr('class') + '"><![CDATA[' + temp + ']]><\/script>'
$this.replaceWith(temp);
});
$("pre[class^=brush]").each( function() { //pre를 사용한 태그
var $this = $(this);
var temp = $this.html(); // 내용 복사
temp = temp.replace(/</g, "<");
$this.html = temp;
});
/* SyntaxHighlighter 사용부분 */
SyntaxHighlighter.defaults['toolbar'] = false; // 툴바 안 보기
SyntaxHighlighter.all();
//////////////////////////////////////////////////////////////////////////////////////
});})(jQuery);
//-->
</script>
'일반' 카테고리의 다른 글
[Icon] 무료 아이콘 (0) | 2013.01.21 |
---|---|
폴더 삭제가 안되는 오류 '이 작업을 수행하기 위한 권한이 필요합니다' (1) | 2012.08.02 |
[컬럼] 객체지향을 넘어서 관점지향으로 AOP (0) | 2012.07.12 |
[Windows7] 내 자격 증명 기억을 해도 네트워크 드라이브 인증을 요구할때 (0) | 2012.06.29 |
[Ghost] 고스트를 이용해서 백업하자 (0) | 2012.04.26 |
트랙백
댓글
글
/**
* url은 문자열 배열이나 문자열이 올수 있다.
* 예) "SEED.df.DF_01.DF_HEADER_SEL"
* ["SEED.df.DF_01.DF_HEADER_SEL", "SEED.df.DF_01.DF_HEADER"]
*/
SEED.importScript = function(url) {
var urls = [];
if ( url == undefined || url == null || url == "" ) {
return;
}
if ( $.type(url) == "string" ) {
urls.push(url);
}
else if ( $.type(url) == "array" ) {
urls = url;
}
else {
return;
}
$.each(urls, function(index, el) {
var newUrl = el.replace(/(^SEED\.)/gi, ""); // SEED가 있다면 제거한다.
newUrl = newUrl.replace(/\./g, "/") + ".js";
var fullUrl = SEED.contextPath.get() + "/resources/js/" + newUrl;
$script = $("<script type=\"text/javascript\" charset=\"utf-8\" src=\"" + fullUrl + "\"></script>");
$script.bind("readystatechange", function() {
var $this = $(this);
if ((!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
// FIXME : 나중에 메모리가 세는지 꼭 검사해야 한다.
// Handle memory leak in IE
this.onload = this.onreadystatechange = null;
$this.remove();
}
});
$script.appendTo("body");
});
};
'JavaScript > JavaScript' 카테고리의 다른 글
[Javascript] 자바스크립트 Global Properties and Functions (0) | 2012.07.31 |
---|---|
[JavaScript] IE 메모리 릭 찾기 (0) | 2012.07.27 |
[javascript] 한글주소 URL 인코딩 (0) | 2012.07.24 |
[JavaScript] 선언과 할당의 미묘한 차이가 런타임시 에러를 발생시킨다. (0) | 2012.07.15 |
[JavaScript] undefiend와 null 차이 (0) | 2012.07.15 |
트랙백
댓글
글
사실 ajax를 이용하는게 아니라 예전부터 많이 사용하던 iframe을 이용하여 화면 깜빡임을 없애는 방식이다.
/**
* form을 ajax로 전송한다. (파일 포함)
*/
$.fn.ajaxForm = function(handler) {
var $this = $(this);
if ( $this[0] && $this[0].tagName.toUpperCase() == "FORM" ) {
//랜덤한 수를 출력
var ranNumber = Math.floor(Math.random() * 10000) + 1;
var strId = "";
strId += "SEED";
strId += "_";
strId += (new Date()).getTime();
strId += "_" + ranNumber;
$this.attr("target", strId);
$("<iframe id=\"" + strId + "\" name=\"" + strId + "\" />")
.hide()
.appendTo($this.parents("body"))
.load(function() {
var that = this;
if ( $.type(handler) == "function" ) {
var result = $.parseJSON(window.frames[strId].document.body.innerHTML);
if ( result == undefined || result == null || result == "" ) {
result = {
success : false,
message : "결과가 존재하지 않습니다."
};
}
handler(result);
}
});
}//if ( $this[0] && $this[0].tagName.toUpperCase() == "FORM" ) {
return $this;
};
사용방법
(function($, exports) {$(document).ready(function() {
////////////////////////////////////////////////////////////////////////////////////
$("#myform").ajaxForm(function(result) {
if ( result && result.success == true ) {
alert(result.message);
}
});
////////////////////////////////////////////////////////////////////////////////////
});})(jQuery, window);
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] .attr("disabled") .attr("readonly") 리턴값 (0) | 2012.08.01 |
---|---|
[jQuery] .each $.each 순회중 continue, break 하기 (0) | 2012.07.26 |
[jQuery] Plugin Validation (0) | 2012.06.18 |
[jQuery] jQuery.type() 함수 구현해보기 (0) | 2012.02.08 |
[jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com (0) | 2012.02.07 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] .each $.each 순회중 continue, break 하기 (0) | 2012.07.26 |
---|---|
[jQuery] ajaxForm 구현 (0) | 2012.07.23 |
[jQuery] jQuery.type() 함수 구현해보기 (0) | 2012.02.08 |
[jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com (0) | 2012.02.07 |
[jQuery] jQuery Number formatter plugin (0) | 2012.01.30 |
트랙백
댓글
글
제이쿼리 압축 파일을 Eclipse에 포함 시키면 매번 오류가 난다고 표시된다.
그렇지만 실제 해보면 잘 되는데 이거 엄청 신경쓰인다.
그렇다고 그 부분을 고치기도 애매하다.
이럴때 검사 제외 패턴을 사용한다.
프로젝트 -> Properties -> JavaScript -> Include Path -> Source -> Excluded -> Edit -> Exclusion Patterns -> Add
'**/jquery*.js' 등록
참고 : http://imwill.com/eclipse-java-ee-jquery-validation-error-workaround/#.T9l_mrXqRoI
'IDE/Tool > Eclipse' 카테고리의 다른 글
[Eclipse] SVN(Subversion 설치) (0) | 2012.06.19 |
---|---|
[Eclipse] Automatically Close 해제 (0) | 2012.06.15 |
[Eclipse] Console 한글깨짐 (0) | 2012.06.14 |
[Eclipse] 글꼴 및 Color 변경 (0) | 2012.06.13 |
[Eclipse] 기본브라우저 설정 (0) | 2012.06.13 |
트랙백
댓글
글
var MyApp = MyApp || {};
MyApp.local = (function($) {
////////////////////////////////////////////////////////////////////////////////////////////////////
// start initialize
var global = this
,selectBaseUrl = ""
,selectDivisionUrl = ""
,insertDivisionUrl = ""
,doDivsnSearch = function() {
var srch_site_nm = $("#srch_site_nm").val() || "";
if ( srch_site_nm != "" ) {
$("#divsnTree").dynatree("option","initAjax", {
url : selectDivisionUrl,
dataType : 'json',
data : {
mnu_id : "ROOT",
site_id : srch_site_nm,
mode : "all"
}
});
$("#divsnTree").dynatree("getTree").reload();
}
}
;
// end initialize
;$(document).ready(function() {
// 베이스 트리 생성
$("#baseTree").dynatree({
title : "",
minExpandLevel : 1,
initAjax : {
url : selectBaseUrl,
dataType :'json',
data : {
}
},
autoFocus : true,
onActivate : function(node) {
},
onDeactivate : function(node) {
},
onLazyRead: function(node) {
},
dnd : {
onDragStart: function(node) {
/** This function MUST be defined to enable dragging for the tree.
* Return false to cancel dragging of node.
*/
logMsg("tree.onDragStart(%o)", node);
if ( node.data.isFolder ) {
return true;
}
return true;
},
onDragStop : function(node) {
logMsg("tree.onDragStop(%o)", node);
}
}//dnd: {
});//$("#baseTree").dynatree({
// 부분별 과정 트리 생성
$("#divsnTree").dynatree({
title : "",
minExpandLevel : 1,
autoFocus : true,
initAjax : {
url : selectDivisionUrl,
dataType :'json',
data : {
mnu_id : "ROOT",
site_id: $("#srch_site_nm").val(),
mode : "all"
}
},
onPostInit : function(isReloading, isError) {
var initNode = this.getNodeByKey('TEMP');
if (initNode) {
var tempMsg = 'tempMsg';
initNode.setTitle(tempMsg);
}
else {
// 데이터가 있다면 펼쳐준다.
$("#btn_divsnTreeExpandAll").click();
}
logMsg("onPostInit(%o, %o)", isReloading, isError);
this.reactivate();
},
onActivate : function(node) {
$("#site_mnunm").val(node.data.title);
$("#delete_divsn_key").val(node.data.key);
},
onDeactivate : function(node) {
},
onLazyRead : function(node){
node.appendAjax({
url : selectDivisionUrl,
dataType : "json",
data : {
mnu_id : node.data.key,
site_id: $("#srch_site_nm").val(),
mode : "all"
},
cache : false
});
},
dnd : {
autoExpandMS : 1000,
preventVoidMoves: true, // Prevent dropping nodes 'before self', etc.
onDragStart: function(node) {
/** This function MUST be defined to enable dragging for the tree.
* Return false to cancel dragging of node.
*/
logMsg("tree.onDragStart(%o)", node);
if ( node.data.isFolder ) {
return true;
}
return true;
},
onDragStop : function(node) {
logMsg("tree.onDragStop(%o)", node);
},
onDragEnter : function(node, sourceNode) {
/** sourceNode may be null for non-dynatree droppables.
* Return false to disallow dropping on node. In this case
* onDragOver and onDragLeave are not called.
* Return 'over', 'before, or 'after' to force a hitMode.
* Any other return value will calc the hitMode from the cursor position.
*/
logMsg("tree.onDragEnter(%o, %o)", node, sourceNode);
if ( node.data.isFolder ) {
return true;
}
return true;
},
onDragOver : function(node, sourceNode, hitMode) {
/** Return false to disallow dropping this node.
*
*/
// if(node.data.isFolder){
// var dd = $.ui.ddmanager.current;
// dd.cancel();
// alert("folder");
// }
logMsg("tree.onDragOver(%o, %o, %o)", node, sourceNode, hitMode);
},
onDrop : function(node, sourceNode, hitMode, ui, draggable) {
/**This function MUST be defined to enable dropping of items on the tree.
* sourceNode may be null, if it is a non-Dynatree droppable.
*/
logMsg("tree.onDrop(%o, %o)", node, sourceNode);
var copynode = null
,isSelf = false
;
if (sourceNode) {
isSelf = (node.tree==sourceNode.tree);
// 키 중복 확인
try {
if ( isSelf == false ) {
node.tree.getRoot().visit(function(node){
if ( node.data.key == sourceNode.data.key ) {
throw {message : "항목이 중복됩니다."};
}
});
}
}
catch(e) {
alert(e.message);
return;
}
finally {}
var temp_node = node.tree.getNodeByKey("TEMP");
var copy_node = node;
var myParent = null;
var isTemp = false;
// 처음 생성시일때만 체크 : 처음생성시에는 TEMP 노드 밑에 들어가 있어야 한다.
if ( temp_node != null ) {
if ( hitMode == "over") {
if ( node.data.key == "TEMP" ) {
isTemp = true;
}
}
while ( (myParent = copy_node.getParent()) != null ) {
if ( myParent.data.key == "TEMP" ) {
isTemp = true;
}
copy_node = myParent;
}
if (temp_node != null && isTemp == false) {
var tempMsg = 'tempMsg';
alert(tempMsg);
return;
}
}
// 다른 트리에서 Drag N Drop을 할때 : 복사하고 넣어준다.
if ( isSelf == false ) {
copynode = sourceNode.toDict(true, function(dict) {
dict.title = "[*] " + dict.title;
// 2012.02.09 GDJ : 위 로직에서 키 중복체크를 하기 때문에 그데로 사용해도 문제 없다.
//delete dict.key; // Remove key, so a new one will be created
});
if (hitMode == "over") {
// Append as child node
node.addChild(copynode);
// expand the drop target
node.expand(true);
// 폴더로 변경해주고 다시 그려준다.
node.data.isFolder = true;
node.tree.redraw();
}
else if (hitMode == "before") {
// Add before this, i.e. as child of current parent
node.parent.addChild(copynode, node);
}
else if (hitMode == "after") {
// Add after this, i.e. as child of current parent
node.parent.addChild(copynode, node.getNextSibling());
}
}
// 자기 트리에서는 이동시킨다.
else {
(function() {
// 부모가 수정되었다고 알려준다.
var parent = sourceNode.getParent();
if ( parent != null && parent.data.key != "ROOT" ) {
var title = parent.data.title;
if ( title != null ) {
title = "[*] " + title.replace(/^(\[\*\]\s)?(.+)$/mi, "$2");
parent.data.title = title;
}
}
})();
sourceNode.move(node, hitMode);
if ( hitMode == "over") {
node.expand(true);
(function() {
// 부모가 수정되었다고 알려준다.
var parent = node;
if ( parent != null && parent.data.key != "ROOT" ) {
var title = parent.data.title;
if ( title != null ) {
title = "[*] " + title.replace(/^(\[\*\]\s)?(.+)$/mi, "$2");
parent.data.title = title;
}
}
})();
}
node.tree.getRoot().visit(function(callback_node){
var myNode = callback_node;
myNode.data.isFolder = (myNode.getChildren()==null ? false:true);
});
node.tree.redraw();
return;
}
}
else {
copynode = {title: "This node was dropped here (" + ui.helper + ")."};
alert(copynode.title);
}
},//onDrop : function(node, sourceNode, hitMode, ui, draggable) {
onDragLeave : function(node, sourceNode) {
/** Always called if onDragEnter was called.
*/
logMsg("tree.onDragLeave(%o, %o)", node, sourceNode);
}
}//dnd: {
});//$("#divsnTree").dynatree({
// 부분별 셀렉트 박스
$("#srch_site_nm").change(function() {
doDivsnSearch();
});
// 검색
$("#btn_search").click(function() {
doDivsnSearch();
});
// 베이스 트리 모두 펼치기
$("#btn_baseTreeExpandAll").click(function() {
$("#baseTree").dynatree("getRoot").visit(function(node){
node.expand(true);
});
});
// 베이스 트리 모두 접기
$("#btn_baseTreeCollapseAll").click(function() {
$("#baseTree").dynatree("getRoot").visit(function(node){
node.expand(false);
});
});
// 부분별 과정 트리 모두 펼치기
$("#btn_divsnTreeExpandAll").click(function() {
$("#divsnTree").dynatree("getRoot").visit(function(node){
node.expand(true);
});
});
// 부분별 과정 트리 모두 접기
$("#btn_divsnTreeCollapseAll").click(function() {
$("#divsnTree").dynatree("getRoot").visit(function(node){
node.expand(false);
});
});
// 부분별 과정 저장
$("#btn_divsnSave").click(function() {
var $tree = $("#divsnTree")
,data = []
;
var srch_site_nm = $("#srch_site_nm").val();
if ( srch_site_nm == "" ) {
alert("부분을 선택하세요.");
return;
}
$tree.dynatree("getRoot").visit(function(node) {
var item = {}
,myParent = node.getParent()
,title = node.data.title || ""
,key = node.data.key || ""
;
item.subjclass = key;
// 신규 저장일때의 [*] 을 제거한다.
item.classnm = title.replace(/^(\[\*\] )?(.+)$/gmi, "$2");
if ( myParent == null ) {
item.upsubjclass = "";
item.orders = 1;
}
else {
if ( myParent.data.key == "TEMP" || myParent.data.key == "_1") {
item.upsubjclass = "ROOT";
}
else {
item.upsubjclass = myParent.data.key;
}
var order = 1;
var preNode = node;
while ( (preNode=preNode.getPrevSibling()) != null ) {
order++;
}
item.orders = order;
}
item.site_id = srch_site_nm;
if ( item.subjclass.toUpperCase() != "TEMP" ) {
data.push(item);
}
});
// Root 데이터를 맨앞에 넣어준다.
var rootData = [];
rootData.push({
site_id : srch_site_nm
,classnm : "ROOT"
,subjclass : "ROOT"
,upsubjclass : ""
,orders : 1
});
data = rootData.concat(data);
// 통신
$.ajax({
url : insertDivisionUrl,
type : 'POST',
dataType : 'json',
contentType : 'application/json; charset=utf-8',
data : JSON.stringify({
site_id : srch_site_nm,
data : data
}),
success : function(result) {
alert(result.message);
if ( result.success == true ) {
doDivsnSearch();
}
},
error : function(result) {
}
});//$.ajax({
});
// 부분별 과정 삭제
$("#btn_divsnDelete").click(function() {
var k = $("#delete_divsn_key").val()
,$tree = $("#divsnTree").dynatree("getTree")
,node = $tree.getNodeByKey(k)
;
// TEMP노드는 삭제하지 않는다.
if ( k == "TEMP" ) {
return;
}
if ( node != null ) {
var parent = node.getParent();
if ( parent != null && parent.data.key != "ROOT" ) {
var title = parent.data.title;
if ( title != null ) {
title = "[*] " + title.replace(/^(\[\*\]\s)?(.+)$/mi, "$2");
parent.data.title = title;
}
}
node.remove();
$("#site_mnunm").val("");
$tree.redraw();
}
else {
alert("null");
}
});
// test
(function() {
})();
});//$(document).ready(function() {
// 외부에 오픈할 인터페이스
return {
};
////////////////////////////////////////////////////////////////////////////////////////////////////
})(jQuery);
'JavaScript > dynaTree' 카테고리의 다른 글
[dynatree] dynatree node option (0) | 2012.02.09 |
---|---|
[dynatree] Option 옵션 (0) | 2012.02.09 |
[dynatree] dynatree (jQuery 기반의 tree-plugin) (0) | 2012.02.08 |
트랙백
댓글
글
기본적으로 jQuery를 임포트 해야 한다.
var myStringify = function(data) { var msg = "" ,myData = data || {} ,mySection = "," ,isData = false ,dataType = jQuery.type(myData) ; // 배열인지 검사 if ( dataType == "array" ) { msg += "["; } else if ( dataType == "object" ) { msg += "{"; } jQuery.each(myData, function(k, v) { isData = true; var propertyType = jQuery.type(v); if ( propertyType == "array" || propertyType == "object" ) { if ( dataType == "array" ) { msg += arguments.callee(v); } else { msg += "\"" + k + "\":" + arguments.callee(v); } msg += mySection; } else { if ( dataType == "array" ) { msg += v; } else { msg += "\"" + k + "\":"; if ( propertyType == "string" ) { msg += "\"" + v + "\""; } else { msg += "" + v; } } msg += mySection; } });//jQuery.each(myData, function(k, v) { if ( isData == true ) { msg = msg.substring(0, msg.length-1); } if ( dataType == "array" ) { msg += "]"; } else if ( dataType == "object" ) { msg += "}"; } return msg; };//var myStringify = function(data) {
'JavaScript > JavaScript' 카테고리의 다른 글
[javascript] hasOwnProperty, in 객체의 프로퍼티 존재 여부 확인 (0) | 2012.02.08 |
---|---|
[javascript] arguments.callee 와 arguments.caller (0) | 2012.02.08 |
[javascript] DOMContentLoaded (0) | 2012.01.18 |
[Javascript] Enter 키 클릭시 전송기능 구현 (0) | 2011.12.19 |
[Javascript] IE 버전 확인 (0) | 2011.12.17 |
트랙백
댓글
글
// getType(true) "boolean"를 리턴 // getType(1) "number"를 리턴 // getType(1.1) "number"를 리턴 // getType("") "string"를 리턴 // getType(function(){}) "function"를 리턴 // getType(new Date()) "date"를 리턴 // getType(/^$/) "regexp"를 리턴 function getType(obj) { var msg = "undefined" ,myObj = obj ; if ( myObj != null ) { var strType = Object.prototype.toString.call(myObj); var match = strType.match(/^\[object (.+)\]$/i); msg = match && match[1].toLowerCase(); } return msg; }
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] ajaxForm 구현 (0) | 2012.07.23 |
---|---|
[jQuery] Plugin Validation (0) | 2012.06.18 |
[jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com (0) | 2012.02.07 |
[jQuery] jQuery Number formatter plugin (0) | 2012.01.30 |
[jQuery] $.ajax json type으로 보내기 (0) | 2011.12.19 |
트랙백
댓글
글
다운로드 : http://code.google.com/p/dynatree
문서 : http://wwwendt.de/tech/dynatree/doc/dynatree-doc.html
'JavaScript > dynaTree' 카테고리의 다른 글
[dynatree] TREE TO TREE DRAG AND DROP 예제 (0) | 2012.02.21 |
---|---|
[dynatree] dynatree node option (0) | 2012.02.09 |
[dynatree] Option 옵션 (0) | 2012.02.09 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] Plugin Validation (0) | 2012.06.18 |
---|---|
[jQuery] jQuery.type() 함수 구현해보기 (0) | 2012.02.08 |
[jQuery] jQuery Number formatter plugin (0) | 2012.01.30 |
[jQuery] $.ajax json type으로 보내기 (0) | 2011.12.19 |
[jQuery] jQuery.serializeObject() ( 폼 객체를 json 형태로 만들기 ) (0) | 2011.12.19 |
트랙백
댓글
글
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery.type() 함수 구현해보기 (0) | 2012.02.08 |
---|---|
[jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com (0) | 2012.02.07 |
[jQuery] $.ajax json type으로 보내기 (0) | 2011.12.19 |
[jQuery] jQuery.serializeObject() ( 폼 객체를 json 형태로 만들기 ) (0) | 2011.12.19 |
[jQuery] jQuery 항상 최신버전으로 유지 하는 방법 (0) | 2011.12.17 |
트랙백
댓글
글
위와 같은 폼이 있습니다.
조건을 선택하고 검색 버튼을 클릭하면은 해당 결과가 아래의 그리드에 나타납니다.
조건 TEXT에 입력하고 Enter키를 누르면 검색 버튼을 클릭하는것도 같은 효과를 나타내주고 싶을때 입니다.
onSubmit="return false;" 꼭 작성해 주셔야 클릭시에 폼이 자동으로 전송되는건 막아줍니다.
* onSubmit="return false;" 하는 이유 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=155693
jQuery(document).ready(function($) { $("#listForm input[name=srch_text]").keydown(function(e){ if(e.keyCode == 13){ e.cancelBubble = true; $("#btn_search").click(); return false; } }); });keyDown이벤트를 잡고 enter키를 확인합니다. 이벤트가 전파되지 않게 e.cancelBubble 를 true 넣어줍니다.
'JavaScript > JavaScript' 카테고리의 다른 글
[javascript] JSON.stringify() 메소드 만들어 보기 (0) | 2012.02.08 |
---|---|
[javascript] DOMContentLoaded (0) | 2012.01.18 |
[Javascript] IE 버전 확인 (0) | 2011.12.17 |
[Javascript] 현재 브라우져 이름 알아내는 함수 (0) | 2011.12.15 |
[Javascript] 변수의 유효범위 (함수단위) (0) | 2011.12.13 |
트랙백
댓글
글
/** * jqGrid * desc : 선택된 Rows를 Dataset Array를 만들어준다. * isAll에 true를 넣어주면 전체 데이터를 가져온다. * return : array * * comment : 데이터가 선택되지 않으면 빈 배열을 리턴한다. */ jQuery.fn.getArrayFromGridRow = function(isAll) { var _isAll = false; if ( arguments.length > 0 && isAll == true ) { _isAll = true; } var arrayData = []; try { var $grid = this; // jqGird검사 if ( $grid.jqGrid == null || $grid.jqGrid == undefined ) { return arrayData; } var selRows = ( _isAll ? $grid.getDataIDs() : $grid.getGridParam("selarrrow") ); $.each(selRows, function(index, value) { arrayData[index] = $grid.getRowData(value); }); } catch(e) { alert(e.message); return arrayData; } return arrayData; }; /** * jqGrid * desc : 현재 선택된 Rows를 Dataset Array를 만들어준다. * return : array */ jQuery.fn.getArrayFromMultiSelectedRow = function() { return this.getArrayFromGridRow(false); }; /** * jqGrid * desc : 전체 row를 Dataset Array를 만들어준다. * return : array */ jQuery.fn.getArrayFromAllRow = function() { return this.getArrayFromGridRow(true); };
'JavaScript > jqGrid' 카테고리의 다른 글
[jqGrid] Composite Model Data 사용하기 (0) | 2013.12.18 |
---|---|
[jqGrid] Homepage and Manual (0) | 2013.11.12 |
트랙백
댓글
글
var gridData = $(ID.GRID_MAIN).getArrayFromMultiSelectedRow();
if ( gridData.length == 0 ) {
// 항목을 선택하세요.
alert("<g:message code='MESSAGE.com.msg.select' />");
return;
}
$.ajax({
url : './_deleteDiagnosisTargetList.do'
,type : 'POST'
,cache : false
,data : JSON.stringify({data:gridData})
,contentType : 'application/json; charset=utf-8'
,dataType : 'json'
,success : function(result) {
if ( result.success == true ) {
var str = "";
$.each(result.list, function(index, rec) {
str += rec + "\n";
});
alert(str);
$(ID.GRID_MAIN).trigger("reloadGrid");
}
}
,error: function(result) {
}
});
'JavaScript > jQuery' 카테고리의 다른 글
[jQuery] jQuery API 검색 사이트 jqapi.com, visualjquery.com (0) | 2012.02.07 |
---|---|
[jQuery] jQuery Number formatter plugin (0) | 2012.01.30 |
[jQuery] jQuery.serializeObject() ( 폼 객체를 json 형태로 만들기 ) (0) | 2011.12.19 |
[jQuery] jQuery 항상 최신버전으로 유지 하는 방법 (0) | 2011.12.17 |
[jQuery] find, filter, children (0) | 2011.12.08 |
RECENT COMMENT