Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 18

20
votes
answers
2 views
+10

JavaScript replace first 5 characters with *

I need Javascript Regex to replace the first 5 characters. Below are a few examples. The first line is the input and the second is the expected output. Could you please let me know how to achieve this?

I have tried follwoing. But none of them is working if the input is less than 4.

.{5} to ***** and ^d{5} to *****

Examples

123456789
XXXXX6789

123
XXX

123456
XXXXX6

1
X

12345
XXXXX
沙发
+40

你的第一个正则表达式需要一点调整,这应该有效。

  let reg = /.{1,5}/ let string ='123456789'; let string2 ='123'; console.log(string.replace(reg,(m)=>“X”.repeat(m.length))); console.log(string2.replace(reg,(m)=>“X”.repeat(m.length)));    

     
			
        
板凳
+40

您可以在 .replace()中使用回调函数或lambda:

 < code> var arr = ['123456789','123','123456','1','12345']; arr.forEach(el =&gt; console.log(el,'::',el.replace(/ ^ d {1,5} /,m =&gt; m.replace(/ d / g,'X') )))   

     
			
        
地板
+30

如果你不是在寻找正则表达式解决方案,那么你也可以尝试这个选项。基于substring()方法的替代方法

  function replace_String(string,numberofchar,chartoreplace){return string.substring(0,numberofchar).split(”“)。map(ele =&gt; ele = chartoreplace).join(”“ ).concat(string.substring(numberofchar,string.length))} console.log(replace_String(“123456789”,5,“X”))console.log(replace_String(“1”,1,“*”))   

     
			
        
4楼
+30

你可以做很多方法。一个是两个替换语句

  const hideFive = str =&gt; str.replace(/ ^ d {1,5} /,x =&gt; x.replace(/./ g,'*'))var tests = [“1”,“12”,“123”,“1234 “,”12345“,”123456“,”1234567“,”12345678“,”1234567890“] tests.forEach(val =&gt; console.log(val,'=',hideFive(val)))    

没有胖箭

<

5楼
+30

你可以替换第一个字符并取出字符串的切片。

  const replaceFirst5 = s =&GT; '*'。repeat(Math.min(5,s.length))+ s.slice(5); 的console.log(replaceFirst5( “123456789”)); console.log(replaceFirst5(“123”));    

     
			
        
6楼
+30

您可以使用 replace repeat

  ^。{1,5}   
  • ^ - 字符串开头
  • 。{1,5} - 匹配除新行以外的任何内容,最少一次,最多5次< / li>

      let replaceFirst5 =(str)=&gt; {return str.replace(/ ^。{ 1,5} /,m =&gt;“X”.repeat(m.length))} console.log(replaceFirst5(“123456789”))控制台。log(replaceFirst5(“123”))   
    
         
    			
            

    它使用解构将部分返回值分配给现有标识符主体和客户。 - jonrsharpe 8月28日9:25

    @jonrsharpe可能值得指出,只有客户被破坏.. - Keith 8月28日9:34

7楼
0

假设这些数字包含在名为“数字”的类中

jQuery代码

  $。each('。numbers' ,function(){let num = $(this).text(); var j =“”; for(let i = 0; i&lt; num.length; i ++){if(i == 5){break;} j + =“*”;} var res = str.replace(num.substring(0,5),j); document.getElementById(“demo”)。innerHTML = res;});  
     
			
        
514
votes
answers
26 views
+10

JavaScript error (Uncaught SyntaxError: Unexpected end of input)

I have some JavaScript code that works in FireFox but not in Chrome or IE.

In the Chrome JS Console I get the follow error:

"Uncaught SyntaxError: Unexpected end of input".

The JavaScript code I am using is:

<script>
 $(function() {
 $("#mewlyDiagnosed").hover(function() {
    $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
 }, function() {
    $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
 });
</script>

It says the error is on the last line which is });

up vote 368 down vote accepted favorite
沙发
+3680
+50
<p>添加第二個<code>}); </ code>。</ p> <p>正確縮進後,代碼讀取</ p> <pre> <code> $(function(){$(“ #mewlyDiagnosed“)。hover(function(){$(”#mewlyDiagnosed“)。animate({'height':'237px','top':” - 75px“});},function(){$(” #mewlyDiagnosed“)。animate({'height':'162px','top':”0px“});}); MISSING!</ code> </ pre> <p>你從未關閉外部<code> $(function(){</ code>。</ p>

經驗教訓是,始終縮進代碼(並正確縮進)。 - 2010年10月20日在23:29發布

哦,伙計,我希望我的VIM發現了語法錯誤。我無法相信有時會因粗心的語法錯誤而浪費多少時間。 - HeyWatch這是2013年9月12日18:26

經驗教訓是,總是使用具有良好插件的優秀編輯器,可以檢測括號配對,突出顯示甚至修復問題。 - SławomirLenart2014年9月19日21:59

@HeyWatchThis您可以嘗試Syntastic for Vim。 - 彌敦道2015年1月8日星期一21:21

我使用neomake for vim / neovim,配置為每次保存JavaScript文件時運行jshint。如果我有語法錯誤,我會在vim / neovim的陰溝中看到警告/錯誤符號。當我將光標放在該行上時,vim / neovim命令行將顯示一條消息,說明錯誤是什麼。 - 2015年5月29日21:54 trusktr

+850

就我而言,我試圖解析一個空的JSON:

  JSON.parse(stringifiedJSON);   

換句話說,發生的事情如下:

  JSON.parse(“”);  
     
			
        

不幸的是,這包括$ .parseJSON的jquery 1.11.2 - Nasser Al-Wohaibi 2015年3月31日13:54

+360

http://jsbeautifier.org/ 有助於縮進縮小的JS代碼。

此外,使用谷歌瀏覽器,您可以使用“漂亮的打印”。請參閱下面的示例屏幕截圖,顯示Stack Overflow中的 jquery.min.js ,從我的瀏覽器中直接縮進:)

+140
<p>稍微格式化代碼,您只關閉了內部懸停功能。你沒有關閉外面的部分,標記如下.... </ p> <pre> <code> $(//缺少關閉)function(){//缺少關閉} $(“#mewlyDiagnosed”)。hover( function(){$(“#mewlyDiagnosed”)。animate({'height':'237px','top':“ - 75px”});},function(){$(“#mewlyDiagnosed”)。animate( {'height':'162px','top':“0px”});}); </代碼> </ PRE>
+50

在我的情況下,它最終是我的 bookmarklet 中的簡單雙引號問題,請記住只在bookmarklet上使用單引號。以防這有助於某人。

+30

我在嘗試編寫javascript書籤時遇到此錯誤。我無法弄清楚造成它的原因。但最終我嘗試通過以下網站對書籤進行URL編碼: http://mrcoles.com/bookmarklet/ 然後錯誤就消失了,所以javascript代碼中的某些字符被解釋為特殊的URL控製字符一定是個問題。

我在我的js中有一個//註釋,它註釋了一些比我想要的更多,因為將它粘貼到bookmarklet的url中使得整個代碼成為一行代碼並且//位於代碼的中間。 - mflodin 2015年6月9日9:01

刪除評論也為我修復了它。 - Alex於18年10月10日8:50

+30

當嘗試解析空的 Json 時,此錯誤主要是由空的返回 ajax 調用引起的。

如果返回的數據為空,要解決此測試

  $ .ajax({url:url,type:“get”,dataType:“json”,成功: function(response){if(response.data.length == 0){// EMPTY} else {var obj = jQuery.parseJSON(response.data); console.log(obj);}}});  
     
			
        
0

我得到了這個,因為我在我添加到我的JS的文件中發表了評論,這對於發生的事情來說真的很尷尬 - 儘管當點擊預渲染和捕獲的 VM 文件時錯誤,你會發現錯誤究竟是什麼,在我的情況下它只是取消了我正在使用的一些代碼。

0

在我的情況下,它是由錨中 javascript:void(0)中缺少(0)引起的。

這是我使用的方法。你也可以通過$ .fn.tooltip('methodname',params)靜態調用這些方法; - Rake36 11月8日'11在凌晨1點

return methods.init.apply(this,arguments); 在這一行中,參數意味著?????? - Konga Raju 12年8月8日6:42

對於我這樣的人來說,首先說“變量來自哪裡” - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ - 我一直在使用JS而且從來不知道。你每天學習新的東西! - streetlogics 2013年8月19日17:53

@DiH,我和你在一起。這種方法看起來很棒,但它不允許您從init以外的任何地方訪問您的全局設置。 - 斯蒂芬柯林斯2014年4月3日19:24

這種技術存在一個主要問題!它不像你認為的那樣為選擇器中的每個元素創建一個新實例,而是只創建一個附加到選擇器本身的單個實例。查看我的答案以獲得解決方案。 - Kevin Jurkowski 2014年4月10日1:14

0
votes
answers
26 views
+10

Javascript JSON返回3個項目後插入新行

1

我正在使用Google工作表在我的網站上填充與我參加的聯盟有關的數據。除了一個非常微小的方面,一切都很好。我一直在網上尋找一種方法來做到這一點,似乎無法找到一種資源,讓我有辦法做到這一點。Javascript JSON返回3個項目後插入新行

我在網站上使用Bootstrap 4,並使用卡來顯示我的數據。使用Card-Deck功能,我正在嘗試通過團隊建立一組名單,以便聯盟球員可以看到誰在球隊中。這按預期工作並構建一排卡片。我想要做的只是連續排列3張牌,因爲它實際上會壓縮數據,而且我們擁有多達16支球隊的聯賽。

這裏是我的javascript:

// make JSON call to Google Data API 
 
$.getJSON(url, function(data) { 
 

 
    //Build the Card Group 
 
    var cardstart = ''; 
 
    cardstart += '<div class="card-deck">'; 
 

 
    var cardend = ''; 
 
    cardend += '</div>'; 
 

 
    //Build the Sunday Juniors Rosters 
 
    var sunjunroster = ''; 
 

 
    //Loop to build the html output for team name 
 
    var entrysunjunroster = data.feed.entry; 
 
    for (var ia = 0; ia < entrysunjunroster.length; ia++) { 
 
    if (entrysunjunroster[ia]['gsx$night']['$t'] == "sunday" && entrysunjunroster[ia]['gsx$format']['$t'] == "juniors") { 
 
     sunjunroster += '<div class="card border border-dark mb-3">'; 
 
     sunjunroster += '<h4 class="card-header bg-bcaprimary text-light text-center">' + entrysunjunroster[ia]['gsx$teamname']['$t'] + '</h4>'; 
 
     sunjunroster += '<div class="card-body p-0">'; 
 
     sunjunroster += '<table class="table table-sm mb-0 tablesorter table-striped"><tbody>'; 
 
     if (entrysunjunroster[ia]['gsx$p1']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p1']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p2']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p2']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p3']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p3']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p4']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p4']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p5']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p5']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p6']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p6']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p7']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p7']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p8']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p8']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p9']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p9']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p10']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p10']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p11']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p11']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p12']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p12']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p13']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p13']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p14']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p14']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p15']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p15']['$t'] + '</td></tr>'; 
 
     } 
 
     if (entrysunjunroster[ia]['gsx$p16']['$t'] !== '') { 
 
     sunjunroster += '<tr><td class="text-center">' + entrysunjunroster[ia]['gsx$p16']['$t'] + '</td></tr>'; 
 
     } 
 
     sunjunroster += '</tbody></table></div></div>'; 
 
    } 
 
    } 
 

 
    // output html - Sunday Juniors 	 
 
    $('.sunjunroster').html(cardstart + sunjunroster + cardend); 
 

 
});

,並建立此我的網頁上的HTML:

<div class="container-fluid"> 
 
    <div class="row"> 
 
    <div class="col"> 
 
     <div class="sunjunroster"></div> 
 
    </div> 
 
    </div> 
 
</div>

我知道用PH P可以計算查詢中返回的項目並插入一行代碼,然後繼續查詢。這是我想在這裏做的。

它會在哪裏拿起計數,並在3個項目後,它關閉col和row div,並將它們添加回來以開始新行。

因此,這將插入此代碼:

</div></div><div class="row"><div class="col">

,然後繼續從JSON數組建設。

+0

我還在學習javascript/jquery,你能解釋我在哪裏添加這個嗎? 我想如果我看到你說的話,我應該用這樣的: 如果(VAR IA%3 == 0){ sunjunroster + ='

'; } –

沙发
0
0

使用模運算符%。它返回一個分區的其餘部分。可以被3除的整數的其餘部分總是0,所以我們可以利用這個優勢。

for (var ia = 0; ia < entrysunjunroster.length; ia++) { 
    if (ia % 3 == 0 && ia > 0) 
    { 
     sunjunroster += '</div></div><div class="row"><div class="col">'; 
    } 
    else if (ia == 0) //expection for zero index, nothing to close 
    { 
     sunjunroster += '<div class="row"><div class="col">'; 
    } 

    //rest of your code... 
} 
+0

我試過實現這一點,但它似乎返回第1行的1個項目,然後在第2個項目,並沒有關閉行後,但開始一個新的行,在同一個地方。 –

+0

的確,在我的腦海中想象這一點,使得看到屏幕上發生的事情變得更加困難,更新應該起作用。 – Mouser

+0

幾乎完美。我不得不刪除!在第二行的末尾讓它起作用。這裏演示:https://www.westmibcapl.com/leagues/ 點擊右上角的團隊名單,看看它的面板。 –

0
votes
answers
25 views
+10

允許在可裁剪環境中編輯日期時間值的最佳方法?

1

我使用Jeditable來允許編輯我的頁面上的表格。它更新了一個MySQL表,它一切正常。允許在可裁剪環境中編輯日期時間值的最佳方法?

我想添加編輯日期時間值的功能。所以我嘗試使用jquery.jeditable.datepicker.js來完成這項工作。但它只適用於日期值而不是日期時間值。

$('.editTimeIn').editable('save.php', { 
    type  : 'datepicker', 
     datepicker: { 
      dateFormat: 'yy-mm-dd', 
      numberOfMonths: 2 
     } 
}); 

我需要能夠讓用戶選擇日期和時間。你對這個功能有什麼建議? 如果可能請使用示例。

+1

看看[這個答案](https://stackoverflow.com/questions/642136/jeditable-with-jquery-ui-datepicker#1406886)+它下面的第二個評論。 –

沙发
0
1

jeditable文檔。

(字符串)類型:要使用的輸入類型。默認的輸入類型是文本textarea的選擇。其他輸入類型使用自定義的 輸入類型API提供。

所以,如果你在jeditable additional input types仔細看,你會看到,你可以使用

timepicker類型(timepicker依賴)

一個time輸入類型(可能這是您需要的最佳方式東西很快,沒有任何其他插件依賴)。

time輸入類型的一個簡單的例子可以在本fiddle

EDIT找到

您也可以嘗試通過添加datetime-local輸入類型,例如下面延伸附加輸入類型(只是一個簡單演示)

$.editable.addInputType('datetime', { 
/* Create input element. */ 
element : function(settings, original) { 
    // pattern is fallback for browsers not supporting datetime-local 
    var datetime_local = $('<input id="datetime_" type="datetime-local" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}" required />'); 
    $(this).append(datetime_local);   
var hidden = $('<input type="hidden">'); 
$(this).append(hidden); 
return(hidden); 
}, 
submit : function(settings, original) { 
    var value = $('input:#datetime_').val(); 
    $("input", this).val(value); 
} 
}); 

請檢查更新的fiddle也查看更改

+0

HI #Peter Darmis這正是我正在尋找的。然而,與日期小提琴不起作用。編輯的結尾必須有一個值,如2017-12-15 09:15:00你能告訴我如何在小提琴中做到這一點? –

+0

@KeithDKaiser如果您的意思是當您提交表單時日期值未定義,請檢查更新。 –

+0

任何方式使用下拉或其他方法來選擇日期和時間(類似於你在第一個小提琴中做什麼)? –

板凳
0
0

直接從source file可jeditable。看看fie的結尾

if (settings.datepicker) { 
    jQuery.extend(datepicker, settings.datepicker); 
    } 

    input.datepicker(datepicker); 

它實際上在做什麼是將jquery ui datepicker應用到您的輸入元素。

JQuery ui Datepicker沒有能力改變日期時間。 或者,你可以找到另一個支持這個庫。或者你可以在github上申請jeditable developers的功能。

我建議你找到任何其他庫,因爲我懷疑開發者會幫助你,因爲他們工作了六七年。你不應該使用折舊的庫。

0
votes
answers
14 views
+10

克隆追加jquery停止效果

1

克隆的視差jquery追加到dom後停止工作。 檢查我的例子:https://codepen.io/anon/pen/rYOrEO克隆追加jquery停止效果

HTML:

<div class="container"> 
    <a href="#" class="clone">Clone</a> 
</div> 
<section class="content"> 
    <div class="jumbotron text-center bg-faded my-5" style="background: url('http://lorempixel.com/1200/600/abstract/1') no-repeat center;" data-paroller-factor="0.5"> 
    <h1 class="heading-1 py-5 text-white">Hello Parallax!</h1> 
    </div> 
</section> 

JS:

$(window).paroller(); 
$(function(){ 
    $('.clone').on('click', function() { 
    alert('hi'); 
    $(".jumbotron").clone().appendTo(".content"); 
    }); 
}); 
沙发
0
0

只需使用

$('#grolsh').clone(); // Copies the element structure 

$('#grolsh').clone(true) // Copies both data and events along with the structure 

$('#grolsh').clone(true).off() // Copies both data and events and removes handlers 

Events bound with .on() and removed using .off(); 

Events bound with .bind() and removed using .unbind(); 

//你更新後的代碼可以在此幫助

$(window).paroller(); 
$(function(){ 
    $('.clone').on('click', function() { 
    alert('hi'); 
     $(".jumbotron").clone(true).prependTo(".content"); 
     $(window).paroller(); 
    }); 
}); 

ref

+0

這是不是工作壓力太大,你可以解釋一下我通過我的鏈接添加例如:codepen –

0
votes
answers
33 views
+10

如何僅從模式

3

我目前使用Twitter的引導和最近我在和關閉模式時,背景不關閉的問題,除去背景。如何僅從模式

解決了:

$('.modal-backdrop').hide(); 

這種解決方案的問題是,它會從整個頁面的背景。當頁面加載一些功能時,我仍然需要它,以便用戶在此過程中不檢查或取消選中字段。

下面的模態代碼:

 btnEdit_Click(object sender, EventArgs e) 
    { 
     ... 
     ... 
     ... 
     ... 
     ... 
     ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "modal", "closeModal();", true); 
     } 

和JavaScript的CloseModal():

 function closeModal() { 
     $('.modal-backdrop').hide(); 
     $('body').removeClass('modal-open'); 
     $('#myModal').modal('hide'); 
     $('#<%=hfImg.ClientID%>').val(""); 
    } 

有人可以幫助保存按鈕後面

<div class="modal fade" id="myModal" role="dialog"> 
     <div class="modal-dialog "> 
      <!-- Modal content--> 

      <div class="modal-content"> 
       <div class="modal-header"> 
        <asp:HiddenField ID="hfImg" runat="server" /> 
       </div> 
       <div class="modal-body" style="overflow: auto; align-content: center;"> 
        <div class="col-sm-12"> 

         <div id="views"></div> 

        </div> 
       </div> 
       <div class="modal-footer"> 
        <div class="row"> 
         <div class="col-sm-12"> 
          <div class="col-sm-1 pull-left"> 
           <button type="button" class="btn btn-primary" data-dismiss="modal";">Cancelar</button> 
          </div> 
          <div class="col-sm-1 col-sm-offset-8"> 
           <button id="cropbutton2" class="btn btn-primary pull-right" type="button" onclick="applyCrop();">Cut</button> 
          </div> 
          <div class="col-sm-1 col-sm-offset-1"> 
           <asp:Button runat="server" CssClass="btn btn-primary pull-right" ID="save" Text="Edit" OnClick="btnEdit_Click" /> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 

C#我,我對這個框架沒有太多經驗,甚至不知道這是否以正確的方式完成。

PS:此頁面是一個ASCX

編輯: 這個項目,我的工作是舊的,我並沒有在開發它的工作的過程。

但現在我只是付出一點點支持和maintanance。 原來這裏有一個架構問題。最初的開發者試圖做一個工作週期,該頁面總是在一個客戶端控制結構中進行,使得更新面板中的所有控件成爲可能。

由於涉及的技術(阿賈克斯和東西),他們不希望它被做了充分的回傳,每次用戶客戶端檢查或uncheked東西或在另一個選項卡中打開一個子菜單。所以他們都看起來像網頁仍然只是在更新面板上進行小的更新。

的背景是在主數據中定義用於此目的。

只發生在我的引導失去參照實物,因爲頁面得到一個回傳,只要你改變任何東西(包括關閉模態)的它之前引用。因此,當我在模式背景上執行.hide或.remove時,bootstrap實際上是針對它可以找到的唯一參考,因此它是在主頁面上定義的參考。

因此,因爲它會花費更多的時間和工作量,所以我們決定在沒有背景的情況下離開模式,在模式標記上使用data-backdrop:false。

感謝大家的幫助。

+0

'$( '模式 - 背景'。)隱藏();'只是增加了一個'display:none'風格的背景。它可以通過調用'$('。modal-backdrop')。show();'返回。這對你有幫助嗎? –

+0

不幸的不是。已經嘗試點擊一個.show(),但是。隱藏總是隱藏整個頁面的背景 –

沙发
0
4

簡單,把data-backdrop="false"上觸發模型或

$("#myBtn2").click(function(){ 
    $("#myModal").modal({backdrop: false}); 
}); 

here按鈕是充分借鑑

+0

data-backdrop =''false「不適合它禁用模態的背景我打開模式時需要它,但問題是如何刪除當模式關閉只爲模式,而不是整個頁面的背景? 此外,我相信這段代碼有一個錯誤的語法,我的導航給我錯誤在屏幕上使用它 –

+0

檢查引導模態文檔頁,我給上面,並給出一些代碼示例 –

+0

當彈出窗口打開時,你不想背景嗎? –

0
votes
answers
31 views
+10

Bootstrap工具提示錯誤的定位

1

我剛剛開始使用引導程序,正在將我的聖誕節禮物的一部分工作給我的女朋友 - 讓她知道她真正的禮物是什麼(漢密爾頓在倫敦的門票)。Bootstrap工具提示錯誤的定位

但是,我遇到了引導工具提示的問題。我期望在點擊的跨度字旁邊看到一個工具提示,在懸停點擊。但由於某種原因,工具尖端位於機身的左上角。

有人能幫我一下嗎?

這是一支筆,顯示錯誤: Link to CodePen

我使用的是初始化的建議例子:

$("[data-toggle='tooltip']").tooltip(); 
+1

您正在使用Bootstrap 4 JS文件和Bootstrap 3 CSS文件。選擇一個版本。 – Turnip

+0

就是這樣,實際上。上帝,我知道它必須是一個非常基本的問題。在選擇3之前,我正在玩4。 – geostocker

+0

你也使用Bootstrap 4而不包括Popper.js;工具提示定位所必需的。 –

沙发
0
0

嘗試使用引導程序的版本相同。要麼完全v3或v4。一旦使用兼容文件,應該解決該問題。

0
votes
answers
12 views
+10

開按鍵取消文本框的變化事件和按鈕單擊文本框的觸發器更改事件jquery

-1

我想要取消按鍵上的文本框的更改事件,然後我想通過按鈕單擊來觸發它。 這就是比如我HTML開按鍵取消文本框的變化事件和按鈕單擊文本框的觸發器更改事件jquery

$('#btn1').on('click', function() { 
 
    var target = '#test'; 
 
    $(target).on("change"); 
 
    $(target).focus(); 
 
    $(target).val('HELLO').trigger('change'); 
 
}); 
 

 
$("#test").change(function(event) { 
 
    alert($(this).val()) 
 
}); 
 
$('#test').on('keypress', function(event) { 
 
    if (event.keyCode === 13) { 
 
     event.stopImmediatePropagation(); 
 
     $(this).off("change"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="test" /> 
 
<input type="submit" id="btn1" value="BUTTON1" />

,但它在不觸發更改事件。

請提前。提前致謝。

JSFiddle

+0

刪除event.stopImmediatePropagation();剛剛更新了小提琴,發現工作。 –

+0

不,沒有發射改變事件,你可以請分享小提琴鏈接 –

+0

它不是。試試這個場景:首先點擊按鈕,然後選擇-alert- sometype。你看起來不錯。但是,然後點擊按鈕,沒有警報。我認爲問題在這裏。 @AnupYadav –

沙发
0
1
$('#btn1').on('click', function() { 
       var target='#test'; 
     $(target).on("change",changeText($(target))); 
     $(target).focus(); 
     $(target).val('HELLO').trigger('change'); 
}); 

function changeText($this) { 
    alert($this.val()) 
} 
$('#test').on('keypress', function (event) { 
     event.stopImmediatePropagation(); 
     $(this).off("change"); 
}); 

事件是不是在功能PARAM並試圖用傳播史https://jsfiddle.net/0624eq86/20/

+0

我試過了。但是當我在文本框中敲擊並點擊按鈕時,更改事件不起作用。 https://jsfiddle.net/aanair08/0624eq86/14/ –

+0

其實我的真實場景是獲得按鍵輸入呼叫ajax請求,並顯示一些建議,並點擊建議設置值文本框,並調用其更改事件 –

+0

@AbhijithANair檢查我編輯的代碼。 –

板凳
0
1

我想你忘記添加 「事件」 中的JavaScript代碼

取代:

$('#test').on('keypress', function() { 
    event.stopImmediatePropagation(); 
    $(this).off("change"); 
}); 

有:

$('#test').on('keypress', function(event) { 
    event.stopImmediatePropagation(); 
    $(this).off("change"); 
}); 
+0

我也嘗試過。但它不是文本框的火災事件。 https://jsfiddle.net/aanair08/0624eq86/14/ –

地板
0
1

function test(val){ 
 
    alert(val); 
 
} 
 
$('#btn1').on('click', function() { 
 
    var target = '#test'; 
 
    $(target).focus(); 
 
    $(target).val('HELLO').trigger('change'); 
 
    $(target).on("change", test($(target).val())); 
 
}); 
 

 
$('#test').on('keypress', function(event) { 
 
    event.stopImmediatePropagation(); 
 
    $(this).off("change"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="test" /> 
 
<input type="submit" id="btn1" value="BUTTON1" />

請檢查答案,我希望這會爲你工作。 我創建了一個函數測試,當點擊函數的ON更改事件時調用此函數。

+0

其實我無法改變我的文本框更改功能。我的按鍵事件和按鈕單擊事件是全局編寫的,每個頁面的更改事件都是分開的。當我輸入並按下輸入建議將顯示並單擊建議文本框值填充並更改事件觸發器和加載數據。如果我完全知道該值,則在輸入文本框中鍵入數據加載。那是我需要的。但問題是我的是當我按下輸入更改事件的工作。 –

+0

你正在用'$(「#test」)。on(「change」,function(){})'改變你的文本框更改函數,我已經放在單獨的函數中,並且在按鈕單擊時調用相同的函數。簡要地解釋你想要做什麼? –

+0

我在每個頁面都有搜索框來搜索類似數字的內容,並且在更改內容時加載數據對應於該數字。我寫了一個全球性的函數,在輸入按鍵時獲得建議。然後我點擊建議填寫文本框並觸發更改事件。它的工作正常。但我的需要是,當我按下輸入我不想觸發器更改,當我點擊建議我想觸發更改事件。如果我必須替換更改事件,那麼我需要在超過200個我認爲的地方進行更改 –

0
votes
answers
25 views
+10

視圖包郵件在按鈕上無法正常工作使用asp.net mvc點擊成功?

1

當我點擊保存按鈕,然後顯示成功警報消息,但我只需要保存功能成功,然後只應顯示成功警報消息。視圖包郵件在按鈕上無法正常工作使用asp.net mvc點擊成功?

在我的代碼中,我在按鈕上寫入成功警報消息,因此無法正常工作。如何在成功時查看id="bn-success"查看包內消息。

<input type="submit" name="actionType" id="bn-success" value="Save" class="btn btn-rounded btn-inline btn-success" /> 

控制器:

[HttpPost] 
     [AllowAnonymous] 
     [ValidateAntiForgeryToken] 
     public ActionResult Domain(Domain domain) 
     { 
      try 
      { 
       int refID = Convert.ToInt32(Session["RefID"]); 
       if (ModelState.IsValid && refID > 0) 
       { 
        userType type = new userType(); 
        int id = type.AddDomain(domain, refID); 
        if (id != 0) 
        { 
         ViewBag.Message = "Domain added successfully"; 
        } 
       } 
       return View(); 
      } 
      catch 
      { 
       return View(); 
      } 

     } 

警報消息:

$('#bn-success').on('click', function() { 
     $.notify({ 
      icon: 'font-icon font-icon-check-circle', 
      title: '<strong>Heads up!</strong>', 
      message: @ViewBag.Message 
     },{ 
      type: 'success' 
     }); 
    }); 

Error

+0

控制檯錯誤?異步事件提交? – mplungjan

+0

是在保存按鈕上,然後顯示成功警報消息@mplungjan –

+0

如果您需要提交表單,那麼您需要ajax並在成功返回時顯示通知。如果沒有,你需要預防:'('#bn-success')。on('click',function(e){e.preventDefault(); ..'如果你想看到通知 – mplungjan

沙发
0
0

'@ ViewBag.Message'

$('#bn-success').on('click', function() { 
    $.notify({ 
     icon: 'font-icon font-icon-check-circle', 
     title: '<strong>Heads up!</strong>', 
     message: '@ViewBag.Message' 
    },{ 
     type: 'success' 
    }); 
}); 
+0

這不會修復問題OP正在進行,點擊按鈕後會立即顯示消息。 – CodingYoshi

+0

不工作sir –

367
votes
answers
26 views
+10

How to add `style=display:“block”` to an element using jQuery?

How to add style=display:"block" to an element in jQuery?

沙发
+3120
<預> <代碼> $(“#YourElementID”)的CSS(“顯示”,“塊”)。

編輯:或正如dave thieben在下面的評論中指出的那樣,你也可以這樣做:

  $( “#YourElementID”)。css({display:“block”});  
     
			
        
板凳
+300

根據設置顯示屬性的目的,您可能需要查看

  $(“#yourElementID”)。show()  

  $(“#yourElementID”)。hide() 
     
			
        
地板
+150
<p>根據優先級在底部寫下這項工作有多種功能。</ p> <ul> <li> <h2> <a href =“http://api.jquery.com/css/” rel =“noreferrer”> <code> .css()</ code> </a> </ h2> </ li> </ ul> <p>為匹配元素集設置一個或多個CSS屬性。</ p> <pre> <code> $(“div”)。css(“display”,“block”)</ code> </ pre> <pre class =“lang-js prettyprint-override”> <code > //或添加多個CSS屬性$(“div”)。css({display:“block”,color:“red”,...})</ code> </ pre> <p> <br> < / p> <ul> <li> <h2> <a href="http://api.jquery.com/show/" rel="noreferrer"> < 代碼> .show()</ code> </a> </ h2> </ li> </ ul> <p>顯示匹配的元素,大致是<a href =“http://api.jquery.com / show /#entry-longdesc“rel =”noreferrer“>相當於調用<code> .css(”display“,”block“)</ code> </a> </ p> <p>你可以顯示元素使用<code> .show()</ code>而不是</ p> <pre> <code> $(“div”)。show()</ code> </ pre> <p> <br> </ p > <ul> <li> <h2> <a href="http://api.jquery.com/attr/" rel="noreferrer"> <code> .attr()</ code> </a> < / h2> </ li> </ ul> <p>為匹配元素集設置一個或多個屬性。</ p> <p>如果目標元素<strong>沒有' //一個屬性div.style.display =“block”; //多個屬性div.style.cssText =“display:block; color:red”; //多個屬性div.setAttribute(“style”,“display:block; color:red”); </代碼> </ PRE>
4楼
+100
<p>如果您需要添加多個,那麼您可以這樣做:</ p> <pre> <code> $('#element')。css({'margin-left':'5px','margin -bottom':' - 4px',// ......等等}); </ code> </ pre> <p>作為一個好習慣,我還會將屬性名稱放在引號之間以允許破折號,因為大多數樣式都有破折號。如果它是'display',那麼引號是可選的,但是如果你有一個破折號,那麼沒有引號它就無法工作。無論如何,為了簡單起見:始終將它們用引號括起來。</ p>