내 코드에 var를 설정 한 다음이를 전역으로 설정했지만 어떤 이유로 대화 상자에 '정의되지 않음'으로 표시됩니다. 제목에 var를 사용할 수 있습니까? 대화 상자 옵션전역 변수를 사용하여 jquery 대화 상자 제목이 정의되지 않았습니다.
당신이 당신의 대화를 인스턴스화 할 때title: 'Edit box' + ' ' + box
라인이 실행됩니다
title: 'Edit box' + ' ' + box,
내 코드에 var를 설정 한 다음이를 전역으로 설정했지만 어떤 이유로 대화 상자에 '정의되지 않음'으로 표시됩니다. 제목에 var를 사용할 수 있습니까? 대화 상자 옵션전역 변수를 사용하여 jquery 대화 상자 제목이 정의되지 않았습니다.
당신이 당신의 대화를 인스턴스화 할 때title: 'Edit box' + ' ' + box
라인이 실행됩니다
title: 'Edit box' + ' ' + box,
에서 기능
var box;
의 외부 .click 이벤트
box = $('#EB_custref').val();
감사
: 나는 당신을 가정 $(document).ready
에 그 일을하고 있습니다. 이 시점에서 변수 box
은 정의되지 않습니다.
click
이벤트에 box
을 설정하면 너무 늦었습니다. 제목이 이미 설정되었습니다.
자세한 내용은 this post을 참조하십시오. 여기에 편집
이 하나 개의 솔루션의 데모입니다 :
HTML
<button data-title="Apple">OPEN 1</button>
<button data-title="Banana">OPEN 2</button>
<div id="MyDialog">
Example Dialog Content
</div>
JQUERY
var globalTitle = ''; // Your global variable
// Startup operations
$(function() {
$('#MyDialog').hide();
$('button').click(function() {
openMyDialog($(this).data('title'))
});
});
// Open the dialog using the global myTitle variable
function openMyDialog(customTitle)
{
globalTitle = customTitle;
$('#MyDialog').dialog({title : globalTitle});
}
HTML5 스타일의 data-
속성을 사용합니다.이 속성은 잠금 기능을 가지며 .data()
기능을 통해 jQuery에서 액세스 할 수 있습니다. 또한 전역 변수를 사용하여 사용할 수 있음을 보여줍니다. 그러나 거기에 대한 필요가 없습니다 - 가장 좋은 방법은 바로 dialog()
전화로 customTitle
을 통과하는 것입니다 $('#MyDialog').dialog({title : customTitle});
제임스 감사합니다. 나는 css를 직접 해킹하는 것을 알고 있었다. – bollo
어떻게하면 제임스 귀하의 의견을 기반으로 클릭 이벤트에서 글로벌 상자를 만들 수 있습니까? thanks – bollo
'box' var *은 * global이며, 정의되지 않았을 때'title' 속성을 설정하는데 사용했습니다. 'title'은 문자열이기 때문에 이후에'box'의 값을 바꾸어도 상관 없습니다. title은 동일한 리터럴 문자열, 즉 '편집 상자가 정의되지 않음'으로 유지됩니다. 가장 좋은 방법은 클릭 이벤트에서 대화 상자 인스턴스화 코드를 실행하는 것입니다. –
alert($('#EB_custref').val())
확인 즉, 자사의 반환 값 여부를
및 사후 더 많은 코드/
가능한 경우올바른 값을 반환 중입니다. 덕분에 – bollo
@ 볼로 - 자세한 내용은 코드 붙여 넣기 –
더 많은 코드를 게시해야합니다 ... –
@william. 왜 나 한테 반대 한거야? – bollo
그것이 나 였는지 어떻게 알 수 있습니까? 나는 너에게 다운 다운을하지 않았다. –