2012-10-04 55 views
-1
if (temp == 'Gps') { 
    $('#tabs-1').html('<fieldset class="fieldstyle"><legend>Label</legend><input type="text" id="titlebox-' + id + '" value="' + temp + '"/></fieldset><br><p><label>Add to PunchList</label><input type="checkbox" id="punchlist" class="require"/></p><p><label>Mandatory Field</label><input type="checkbox" id="mfield" class="require"/></p><p><label>Include in PDF Export?</label><input type="checkbox" id="pdf" class="require"/></p><br> <fieldset class="fieldstyle"><legend>Field Description</legend><textarea id="instructmsg" value="' + inst + '"></textarea></fieldset> '); 
} 

else if (temp == 'Photo') { 
    $('#tabs-1').html('<fieldset class="fieldstyle"><legend>Label</legend><input type="text" id="titlebox-' + id + '" value="' + temp + '"/></fieldset><br><p><label>Add to PunchList</label><input type="checkbox" id="punchlist" class="require"/></p><p><label>Mandatory Field</label><input type="checkbox" id="mfield" class="require"/></p><p><label>Include in PDF Export?</label><input type="checkbox" id="pdf" class="require"/></p><br> <fieldset class="fieldstyle"><legend>Field Description</legend><textarea id="instructmsg" value="' + inst + '"></textarea></fieldset> '); 
} 

上面的html代碼重複。我如何使用jquery爲此編寫一個函數,以及如何調用該函數?它如何被加載?我如何將所有這些寫入單個js頁面?html如何寫入和創建功能到jquery

+1

爲什麼使用條件,然後在每個分支中執行相同的函數調用? – saml

+0

您可以使用'function name(){...}'創建一個函數,然後使用:'name()'來調用該函數。 – CoursesWeb

回答

1

您可以使用||邏輯或)運算符:

將返回EXPR1如果能夠轉化爲真實的;否則,返回expr2。因此,如果使用布爾值,則||如果任一操作數爲true,則返回true;如果兩者都是假的,則返回false。

function simple() { // define a function 
    // ... 
    if (temp == 'Gps' || temp == 'Photo') { 
     $('#tabs-1').html('...') 
    } 
} 

simple() // call the function 
+0

我不知道OP是否需要常規的JavaScript函數或實際的jQuery函數。 – saml

+0

@saml是的,這個問題太基本了。 – undefined

0

如果你硬是要一個jQuery函數來做到這一點,讓我們說你怎麼稱呼它myFunction,你可以做這樣的:

$.fn.myFunction(id, temp, inst) { 
    return this.html('<fieldset class="fieldstyle"><legend>Label</legend><input type="text" id="titlebox-'+id+'" value="'+temp+'"/></fieldset><br><p><label>Add to PunchList</label><input type="checkbox" id="punchlist" class="require"/></p><p><label>Mandatory Field</label><input type="checkbox" id="mfield" class="require"/></p><p><label>Include in PDF Export?</label><input type="checkbox" id="pdf" class="require"/></p><br> <fieldset class="fieldstyle"><legend>Field Description</legend><textarea id="instructmsg" value="'+inst+'"></textarea></fieldset> '); 
} 

但你的條件是壞的。你不應該使用多個分支來做同樣的事情。使用上面創建的功能,

if (temp === 'Gps' || temp === 'Photo') { 
    $('#tabs-1').myFunction(id, temp, inst); 
}